PB : VBA ME DONNE QUE LA DERNIERE VALEUR????

Le
omar_2891
Bonjour,

J'ai un pb avec mon code, je souhaite qu'il me donne le nom de la ligne
"Range("a" & Ligne)" et de la colonne "Cells(4, Colonne)" des cellules
ayant un chiffre compri entre 0 et 1.33.
Dans mon code ca marche mais si il y a plusieurs valeurs comprises
entre 0 et 1.33 dans une meme ligne VBA me donne uniquement la
derniere!!!
Comment devrais je faire pour qu'il me donne toutes les cellules qui
m'intresse?

Merci d'avance.

Omar.

Sub Envoi_Mail_ALERTE()
Dim Colonne As Long
Dim Ligne As Long

For Ligne = 5 To 61
For Colonne = 7 To 206
If Cells(Ligne, Colonne) < 1.33 And Cells(Ligne, Colonne) >
0 Then
Cells(Ligne, 3) = "yes"
Cells(Ligne, 4) = Range("a" & Ligne) & Cells(4,
Colonne)
ElseIf Cells(Ligne, Colonne) < 1.33 And Cells(Ligne,
Colonne) > 0 Then
Cells(Ligne, 3) = "no"

End If
Next Colonne
Next Ligne

End Sub

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Daniel
Le #3762421
Bonjour.
Dans quelles cellules veux-tu mettre les adresses s'il y en a plusieurs.
Cordialement.
Daniel

Bonjour,

J'ai un pb avec mon code, je souhaite qu'il me donne le nom de la ligne
"Range("a" & Ligne)" et de la colonne "Cells(4, Colonne)" des cellules
ayant un chiffre compri entre 0 et 1.33.
Dans mon code ca marche mais si il y a plusieurs valeurs comprises
entre 0 et 1.33 dans une meme ligne VBA me donne uniquement la
derniere!!!
Comment devrais je faire pour qu'il me donne toutes les cellules qui
m'intéresse?

Merci d'avance.

Omar.

Sub Envoi_Mail_ALERTE()
Dim Colonne As Long
Dim Ligne As Long

For Ligne = 5 To 61
For Colonne = 7 To 206
If Cells(Ligne, Colonne) 0 Then
Cells(Ligne, 3) = "yes"
Cells(Ligne, 4) = Range("a" & Ligne) & Cells(4,
Colonne)
ElseIf Cells(Ligne, Colonne) < 1.33 And Cells(Ligne,
Colonne) > 0 Then
Cells(Ligne, 3) = "no"

End If
Next Colonne
Next Ligne

End Sub
omar_2891
Le #3762411
En fait, je voudrais les mettres dans la colonne 4 sous forme de liste.
Et dans cette colonne, chaque cellules comprendra les valeurs de sa
ligne.
Daniel
Le #3762361
Peux-tu mettre un classeur exemple sur www.cjoint.com ?
Daniel

En fait, je voudrais les mettres dans la colonne 4 sous forme de liste.
Et dans cette colonne, chaque cellules comprendra les valeurs de sa
ligne.



omar_2891
Le #3762211
J'ai créer un fichier test. Je te rappel, la macro permet de noter le
nom de la ligne et le chiffre de la colonne dans la colonne "Message".
Or lorsqu'il y a plusieurs valeurs a noter ma macro ne note que le
dernier. Voici le fichier. (j'ai noter en rouge les anomalies que doit
reperer la macro)

http://cjoint.com/?etnlS5WlSf

Merci.

Omar
Daniel
Le #3762101
Essaie avec le code suivant :

Sub Macro1()
Dim Colonne As Long
Dim Ligne As Long

For Ligne = 2 To 10
Cells(Ligne, 3) = "no"
For Colonne = 5 To 204
If Cells(Ligne, Colonne) Then
Cells(Ligne, 3) = "yes"
If Cells(Ligne, 4) = "" Then
Cells(Ligne, 4) = Range("a" & Ligne) & Cells(1, Colonne)
Else
Cells(Ligne, 4) = Cells(Ligne, 4) & ", " & Cells(1,
Colonne)
End If
End If
Next Colonne
Cells(Ligne, 4) = Cells(Ligne, 4) & vbLf
Next Ligne

End Sub

Daniel

J'ai créer un fichier test. Je te rappel, la macro permet de noter le
nom de la ligne et le chiffre de la colonne dans la colonne "Message".
Or lorsqu'il y a plusieurs valeurs a noter ma macro ne note que le
dernier. Voici le fichier. (j'ai noter en rouge les anomalies que doit
reperer la macro)

http://cjoint.com/?etnlS5WlSf

Merci.

Omar
omar_2891
Le #3762061
Superrrrrrrrrrrr

ca marche parfaitement! c exactement ce que je voulais faire!!!!!!!!!!

Merci beaucoup à la prochaine!!!

Omar
Poster une réponse
Anonyme