× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Test si formule existe dans deux colonnes
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
eliot raymondo
  Posté le 10/09/2018 @ 16:48 
Aller en bas de la page 
Petit astucien
Bonjour a tous, Forum bonjour,
Je souhaiterai effectuer un test sur deux colonnes, je m'explique :
J'ai une colonne (E) et une colonne (F) ou il y a des formules a partir de E3 et F3 sur 200 lignes. Je souhaiterai svp tester si la colonne (E) contient bien des formules dans les cellules de la colonne (E) a partir de (E3)

tester également si la colonne (F) contient bien des formules dans les cellules de la colonne (F) a partir de (F3)
Donc le test serai d’après moi Exemple :
--- Si (E3) contient une formule alors afficher dans la colonne (I3) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge
--- Si (E4) contient une formule alors afficher dans la colonne (I4) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge

--- Etc Etc
Idem pour la colonne (F)

--- Si (F3) contient une formule alors afficher dans la colonne (J3) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge
--- Si (F4) contient une formule alors afficher dans la colonne (J4) en vert ‘’Oui’’ sinon ‘’Non’’ en rouge

--- Etc Etc
Effectuer le test sur 200 lignes, je verrai plus tard pour prolonger.
J'ai essayer avec les divers codes si dessous mais pas réussi a le faire.
Je vous remercie pour votre aide et vous souhaite une bonne fin d’après midi.
Cdlt Ray

CODE et MACRO que j'ai essayer mais ça marche pas bien

Private Sub Worksheet_Change(ByVal target As Range)

Dim dlig&, lig&

dlig = Cells(Rows.Count, 5).End(xlUp).Row: Application.ScreenUpdating = 0

If Intersect(target, Range("E3:F" & dlig)) Is Nothing Then Exit Sub

For lig = 3 To dlig

With Cells(lig, 5)

.Offset(, 4) = IIf(.HasFormula, "O", "N")

.Offset(, 5) = IIf(.Offset(, 1).HasFormula, "O", "N")

End With

Next lig

'Essai formule en réel

Dim dlig&: Application.ScreenUpdating = 0

dlig = Cells(Rows.Count, 5).End(xlUp).Row

With Target

If .CountLarge > 1 Then Exit Sub

If Not Intersect(Target, Range("E3:F" & dlig)) Is Nothing _

Then .Offset(, 4) = IIf(.HasFormula, "O", "N")

End With

'Essai sous forme de macro

Public Sub Formule_Existe()

Dim Feuil1 As Worksheet: Dim cellule As Range

Set Feuil1 = ActiveSheet

For Each cellule In Intersect(Feuil1.UsedRange, Union(Feuil1.Columns("E"), Feuil1.Columns("F")))

If Not cellule.HasFormula Then

cellule.Offset(0, 4).Font.ColorIndex = 4

Else

cellule.Offset(0, 4).Font.ColorIndex = 3

End If

Next

End Sub

  • Marquer comme non résolu
  • Publicité
    ferrand
     Posté le 11/09/2018 à 03:03 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Astucien

    Bonsoir,

    Tu as eu des réponses élaborées sur ce sujet, sur un autre Forum, par des intervenants qualifiés !

    Pourquoi vouloir faire refaire la même chose par d'autres !

    Debrief
     Posté le 11/09/2018 à 10:17 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Astucien

    Bonjour,

    Si c'est juste pour mettre O ou N (ou Oui ou Non) ce n'est vraiment pas très compliqué à rajouter sur la base de la superbe macro fournie (*) (à la couleur près à inverser, ou le test):

    If Not cellule.HasFormula Then
        cellule.Offset(0, 4).Font.ColorIndex = 3
    cellule.Offset(0, 4).Value = "N"
    Else cellule.Offset(0, 4).Font.ColorIndex = 4
    cellule.Offset(0, 4).Value = "O" End If

    Ray, tu n'as pas trop donné de nouvelles sur l'autre sujet "Soucis d'effacement de formules" à propos de l'insertion de ligne. La réponse fournie te convient-elle ?

    D.

    Edit: (*) marquée du sceau du UsedRange et dont la signature, s'il en était besoin après la lecture du post précédent, ne fait donc aucun doute



    Modifié par Debrief le 11/09/2018 10:33
    eliot raymondo
     Posté le 11/09/2018 à 11:28 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Salut Debrief,

    Merci pour ta réponse,

    j'ai fait pas d'essais pour arriver a ce que je voulais et pris exemple avec les conseils donner sur le site.

    Toutefois le résultat est au rendez vous, et donc merci bien a vous tous pour vos infos codes etc etc qui

    on permis que maintenant ça marche.

    Y compris sur l'autre sujet "Soucis d'effacement de formules"

    le code que j'utilise Range("A3:H200").SpecialCells(xlCellTypeConstants, 23).ClearContents 'Efface la plage sans effacer les formules

    Edit: (*) marquée du sceau du UsedRange et dont la signature, s'il en était besoin après la lecture du post précédent, ne fait donc aucun doute

    Désolé pas compris

    Merci Debrief pour ton aide et de votre savoir de vous tous.

    Bonne continuation a tous et merci.

    Bien cordialement Raymond

    Debrief
     Posté le 11/09/2018 à 12:39 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Astucien

    Bonjour Ray,

    Y compris sur l'autre sujet "Soucis d'effacement de formules"

    le code que j'utilise Range("A3:H200").SpecialCells(xlCellTypeConstants, 23).ClearContents 'Efface la plage sans effacer les formules

    Ça je sais, tu l'as déjà dit dans le sujet.

    Mais souviens-toi, tu as soulevé un autre problème avec l'insertion de ligne... Enfin, bon ça n'a pas d'importance. Les vagues de l'océan effacent inlassablement les traces de nos pas sur la grève.

    Désolé pas compris

    Pas grave non plus, ça ne participe pas de la solution

    Cordialement,
    D.

    ferrand
     Posté le 12/09/2018 à 19:14 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Astucien

    Salut Debrief !

    Pour préciser les choses, je ne fais pas partie des intervenants qualifiés que j'ai indiqué... mais je peux garantir qu'ils le sont...

    Bonne soirée.

    Page : [1] 
    Page 1 sur 1

    Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

    Vous n'avez pas de compte ? Créez-en un gratuitement !


    Les bons plans du moment PC Astuces

    Tous les Bons Plans
    165,10 €Perforateur Bosch Professional GBH 2-28 F SDS Plus + mandrin + LBOXX à 165,10 € livré
    Valable jusqu'au 24 Novembre

    Amazon Espagne fait une belle promotion sur le perforateur Bosch Professional GBH 2-28 F SDS Plus (de 13 à 28 mm) + mandrin classique + rangement LBOXX à 153,11 €. Comptez 11,99 € pour la livraison en France soit un total 165,10 € livré alors qu'on trouve l'ensemble à partir de 220 € ailleurs. Le GBH 2-28 F Professional avec mandrin interchangeable est le modèle le plus puissant de la gamme des perforateurs SDS plus filaires Bosch de 2 kg. Son puissant moteur délivre une force de frappe de 3,2 J idéale pour percer tout en puissance. Le perforateur dispose également de la fonction KickBack Control pour une meilleure protection de l’utilisateur et du système Vibration Control pour une utilisation prolongée sans effort lors de travaux de longue durée. Le GBH 2-28 F Professional bénéficie également d’une réversibilité droite/gauche, d’un embrayage de sécurité, d’un variateur de vitesse et de la fonction Vario-Lock.

    Vous pouvez utiliser votre compte Amazon France sur Amazon Espagne et il n'y a pas de douane.


    > Voir l'offre
    74,58 €Ecouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t à 74,58 € livrés
    Valable jusqu'au 25 Novembre

    Amazon Allemagne fait une promotion sur les écouteurs intra-auriculaires sans fil Bluetooth Jabra Elite 65t qui passent à 69,58 € (avec la TVA ajustée). Comptez 5 € pour la livraison en France soit un total de 74,58 € livrés. On les trouve ailleurs à partir de 100 €. Pensés pour vous permettre de vivre votre musique comme vous l'entendez et pour assurer des conversations d'une grande clarté, les écouteurs Jabra Elite 65t ont tout pour vous séduire ! Côté son, l'égaliseur personnalisable vous permet d'ajuster le rendu sonore tandis que la technologie avancée à quatre microphones supprime les bruits de fond lors des appels pour des conversations limpides. Au quotidien, ces écouteurs Jabra restent parfaitement en place et proposent même une fonction de commande vocale simplifiée. Enfin, vous apprécierez les 5 heures d'autonomie avec une seule charge, qui se transforment en 15 heures avec l'étui de recharge compact.  Le Jabra Elite 65t est certifié IP55 et offre une garantie de 2 ans contre l’humidité et la poussière. Où que vous soyez et quelle que soit votre activité, vous profitez d’une liberté absolue pour les appels et la musique. 


    > Voir l'offre
    899 €Pack Microsoft Surface Pro 7 (12,3 pouces, 8 Go, 128 Go SSD) avec clavier cover et stylet à 899 €
    Valable jusqu'au 24 Novembre

    Amazon fait une promotion sur le pack Microsoft Surface Pro 7 qui passe à 899 € livré gratuitement alors qu'on le trouve ailleurs à partir de 1200 €. Ce pack comporte une tablette Microsoft Surface Pro 7 avec un écran tactile de 12,3 pouces, un processeur Intel Core i5, 8 Go de RAM, un SSD de 128 Go et Windows 10. Un clavier cover et un stylet sont également fournis dans le pack.


    > Voir l'offre

    Sujets relatifs
    Inverser deux colonnes dans Excel ?
    sélectionner une ligne sur deux dans une formule
    Tri dans deux colonnes ( RESOLU )
    Deux colonnes dans Word
    comparaison de deux colonnes dans Feuil 1 & feuil2
    comparer deux colonnes de chiffres dans excel
    Déplacer deux colonnes dans excell
    Mettre dans 2 colonnes ( fichier csv )
    Comment modifier une formule dans un TCD excel ?
    Syntaxe horaire dans une formule Logique SI
    Plus de sujets relatifs à Test si formule existe dans deux colonnes
     > Tous les forums > Forum Bureautique