Bonjour à tous,
Je cherche comment écrire la macro qui me permettrai de tester une valeur
(comprise dans une liste) d'une cellule (Cells(l,1)) et si OK, faire une
modif d'une autre cellue sur la même ligne l (Colonne 15).
J'ai écrit ceci, mais j'ai un pb sur la 3eme ligne ci-dessous:
liste = Array("CM", "titi", "toto")
For l = 2 To 8000
If Cells(l, 1).Value = liste Then
If Cells(l, 15).Value = "453" Then
Cells(l, 15).Value = "360"
Else
If Cells(l, 15).Value = "507,9" Then
Cells(l, 15).Value = "414,90"
Else
End If
End If
Else
End If
Next l
Je suis à l'écoute pour tester vos solutions.
Pascal
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Je cherche comment écrire la macro qui me permettrai de tester une valeur (comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz() liste = Array("CM", "titi", "toto") For l = 2 To 8000 If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then 'blablabla....... End If Next End Sub
AV
Je cherche comment écrire la macro qui me permettrai de tester une valeur
(comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz()
liste = Array("CM", "titi", "toto")
For l = 2 To 8000
If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then
'blablabla.......
End If
Next
End Sub
Je cherche comment écrire la macro qui me permettrai de tester une valeur (comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz() liste = Array("CM", "titi", "toto") For l = 2 To 8000 If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then 'blablabla....... End If Next End Sub
AV
pascal
Génial, merci AV :-)
Et en mettant les valeurs ("CM", "titi", "toto") dans des cellules d'un autre fichier azerty.xls, comment faire ? Dans azerty.xls : Z1 = CM Z2 = titi Z3 = toto Peut être définir un nom qui engloberais Z1;Z2;Z3..
Merci si tu as aussi cette solution... Pascal
Je cherche comment écrire la macro qui me permettrai de tester une valeur (comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz() liste = Array("CM", "titi", "toto") For l = 2 To 8000 If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then 'blablabla....... End If Next End Sub
AV
Génial, merci AV :-)
Et en mettant les valeurs ("CM", "titi", "toto") dans des cellules d'un
autre fichier azerty.xls, comment faire ?
Dans azerty.xls :
Z1 = CM
Z2 = titi
Z3 = toto
Peut être définir un nom qui engloberais Z1;Z2;Z3..
Merci si tu as aussi cette solution...
Pascal
Je cherche comment écrire la macro qui me permettrai de tester une valeur
(comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz()
liste = Array("CM", "titi", "toto")
For l = 2 To 8000
If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then
'blablabla.......
End If
Next
End Sub
Et en mettant les valeurs ("CM", "titi", "toto") dans des cellules d'un autre fichier azerty.xls, comment faire ? Dans azerty.xls : Z1 = CM Z2 = titi Z3 = toto Peut être définir un nom qui engloberais Z1;Z2;Z3..
Merci si tu as aussi cette solution... Pascal
Je cherche comment écrire la macro qui me permettrai de tester une valeur (comprise dans une liste) d'une cellule (Cells(l,1)) et si OK,
Sub zzzz() liste = Array("CM", "titi", "toto") For l = 2 To 8000 If IsNumeric(Application.Match(Cells(l, 1), liste, 0)) Then 'blablabla....... End If Next End Sub
AV
AV
Après avoir ouvert le fichier azerty.xls Dans le classeur actif : Insertion > Nom > Définir > Nom dans le classeur > "Plage"
fait référence à : avec ta souris tu balayes la plage Z1:Z3 de "Feuil1" du classeur "azerty"
Ton nom est maintenant défini ( l'écriture du chemin d'accès se fera seule)
Tu peux te servir du nom défini "Plage"" comme s'il faisait référence à une plage du classeur actif. Pour ton problème ça fera :
Sub zzzz() For l = 2 To 8000 If IsNumeric(Application.Match(Cells(l, 1), [Plage], 0)) Then 'blablabla....... End If Next End Sub
AV
Après avoir ouvert le fichier azerty.xls
Dans le classeur actif :
Insertion > Nom > Définir > Nom dans le classeur > "Plage"
fait référence à : avec ta souris tu balayes la plage Z1:Z3 de "Feuil1"
du classeur "azerty"
Ton nom est maintenant défini ( l'écriture du chemin d'accès se fera
seule)
Tu peux te servir du nom défini "Plage"" comme s'il faisait référence à
une plage du classeur actif.
Pour ton problème ça fera :
Sub zzzz()
For l = 2 To 8000
If IsNumeric(Application.Match(Cells(l, 1), [Plage], 0)) Then
'blablabla.......
End If
Next
End Sub