A voir également:
- Problème d'indice dans une double boucle
- Double ecran - Guide
- Whatsapp double sim - Guide
- Indice téléphonique - Guide
- Double appel - Guide
- Double authentification google - Guide
2 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
17 juil. 2017 à 22:09
17 juil. 2017 à 22:09
Bonsoir Wil, bonsoir le forum,
Le problème avec ta boucle qui revoie sur des adresses fixes B1 et C2 c'est que ça sera toujours la dernière valeur qui vérifie la condition en C2 et la dernière valeur qui ne vérifie pas la condition en B1. Autrement dit, pourquoi une boucle puisque les anciennes données sont écrasée ?
Si j'ai bien compris ce que tu voudrais, j'écrirais comme ça :
Le problème avec ta boucle qui revoie sur des adresses fixes B1 et C2 c'est que ça sera toujours la dernière valeur qui vérifie la condition en C2 et la dernière valeur qui ne vérifie pas la condition en B1. Autrement dit, pourquoi une boucle puisque les anciennes données sont écrasée ?
Si j'ai bien compris ce que tu voudrais, j'écrirais comme ça :
Sub TEST() Dim O1 As Worksheet Dim O2 As Worksheet Dim O3 As Worksheet Dim I As Byte Dim J As Byte Dim TEST As Boolean Set O1 = Worksheets("Feuil1") Set O2 = Worksheets("Feuil2") Set O3 = Worksheets("Feuil3") For I = 2 To 7 For J = 2 To 7 If O1.Range("c" & I).Value = O2.Range("c" & J).Value And O1.Range("D" & I).Value = O2.Range("D" & J).Value Then LI = I: TEST = True: Goto suite End If Next J Next I suite: If TEST = True Then O3.Range("C2").Value = O1.Range("AD" & LI).Value Else O3.Range("B1") = "A" End If End Sub
bonjour
j'ai simplifié mes conditions pour faire simple
je te remercie de ton aide mes je ne comprends pas trop ton explication
dans mon test j'ai fais en sorte que la condition Worksheets("feuil1").Range("B" & i) = Worksheets("feuil2").Range("B" & j)
se vérifie une seule fois
Je veux comparer la cellule B2 de la feuille 1 au cellule B2 jusqu'à B7 de la feuille 3.
puis répèter la même action pour la cellule B3 de la feuille 1
Sub test()
Dim i, j As Integer
For i = 2 To 7
For j = 2 To 7
If Worksheets("feuil1").Range("B" & i) = Worksheets("feuil2").Range("B" & j) Then
Worksheets("feuil3").Range("C2").Value = Worksheets("feuil1").Range("AD"&i).Value
Else: Worksheets("feuil3").Range("B1") = "A"
End If
Next
j'ai simplifié mes conditions pour faire simple
je te remercie de ton aide mes je ne comprends pas trop ton explication
dans mon test j'ai fais en sorte que la condition Worksheets("feuil1").Range("B" & i) = Worksheets("feuil2").Range("B" & j)
se vérifie une seule fois
Je veux comparer la cellule B2 de la feuille 1 au cellule B2 jusqu'à B7 de la feuille 3.
puis répèter la même action pour la cellule B3 de la feuille 1
Sub test()
Dim i, j As Integer
For i = 2 To 7
For j = 2 To 7
If Worksheets("feuil1").Range("B" & i) = Worksheets("feuil2").Range("B" & j) Then
Worksheets("feuil3").Range("C2").Value = Worksheets("feuil1").Range("AD"&i).Value
Else: Worksheets("feuil3").Range("B1") = "A"
End If
Next