bonjour,
voilà j'ai un bout de code qui fonctionne très bien sur une condition mais quand j'introduis la deuxième condition il ne se passe rien.
je butte sur ce pb depuis deux jours sans rien comprendre.
le but étant de concatener les cellules mail si celles ci ne soient pas vides et a la condition que la colonne G contienne un "x"
merci de votre aide

feuil1 colonne D = adresse mail
feuil1 colonne G = "x" ou ""
feuil2 cellule A20 = resultat de la concatenation
la première condition est : Sheets("Feuil1").Range("D" & i).Value <> "".
la deuxième condition est : And Sheets("Feuil1").Range("G" & i).Value = "x").

test effectué sur Feuil1 ligne 7 à 11 D7,D8,D9,D11 mail D10 Vide G7,G9,G10,G11 x G8 Vide

quand je lance la procédure il ne passe passe rien dans la cellule de destination

voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub ConcatenerTotalMailSousCondition()
 
Dim i As Long
 
Application.ScreenUpdating = False
 
Sheets("Feuil2").Range("A20") = ""   ' cellule qui contiendra les mails concaténés
 
For i = 2 To Sheets("Feuil1").Range("D20").End(xlUp).Row   ' de la cellule 2 a 20   D = colonne des mails
 
If (Sheets("Feuil1").Range("D" & i).Value <> "" And Sheets("Feuil1").Range("G" & i).Value = "x") Then Sheets("Feuil2").Range("A20") = Sheets("Feuil2").Range("A20") & Sheets("Feuil1").Range("D" & i).Value & ";"
 
Next
 
Sheets("Feuil2").Range("A20") = Left(Sheets("Feuil2").Range("A20"), Len(Sheets("Feuil2").Range("A20")) - 2)
 
Application.ScreenUpdating = True
 
 
 
End Sub
Comme d'habitude l'erreur doit être tellement évidente que je ne la vois pas .