Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

6 réponses
Avatar
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'int=E9resse?

Merci d'avance.

Omar.

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

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

End If
Next Colonne
Next Ligne
=20
End Sub

6 réponses

Avatar
Daniel
Bonjour.
Dans quelles cellules veux-tu mettre les adresses s'il y en a plusieurs.
Cordialement.
Daniel
a écrit dans le message de news:

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) < 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
Avatar
omar_2891
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.
Avatar
Daniel
Peux-tu mettre un classeur exemple sur www.cjoint.com ?
Daniel
a écrit dans le message de news:

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.



Avatar
omar_2891
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
Avatar
Daniel
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) < 1.33 And Cells(Ligne, Colonne) > 0
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
a écrit dans le message de news:

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
Avatar
omar_2891
Superrrrrrrrrrrr

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

Merci beaucoup à la prochaine!!!

Omar