[VBE]executer macro sur plage
missExcel
-
MissExcel -
MissExcel -
Bonjour,
je suis secrétaire et g fait une macro mais qui ne sapplique que sur 1 seule ligne, je voudrai que la macro soit valable sur toutes les lignes de ma feuille. J'ai pensé à EntireColumn.select mais ca marche pa.donc je pensai faire une plage [A1:Z65535] ?
Ma macro :
Private sub macro1()
If range("a1").value = "ordinateur de bureau" then range("b2").value="OK"
End if
End sub
merci de m'aider !
je suis secrétaire et g fait une macro mais qui ne sapplique que sur 1 seule ligne, je voudrai que la macro soit valable sur toutes les lignes de ma feuille. J'ai pensé à EntireColumn.select mais ca marche pa.donc je pensai faire une plage [A1:Z65535] ?
Ma macro :
Private sub macro1()
If range("a1").value = "ordinateur de bureau" then range("b2").value="OK"
End if
End sub
merci de m'aider !
9 réponses
-
tu peux mettre une boucle:
Private sub macro1()
dim i as Long
while (i<65565) ' tu met le nombre de tes lignes
If range("a" & i).value = "ordinateur de bureau" then range("b2").value="OK"
End if
i=i+1
Wend
End sub
-
Bonjour ! ca ne marche pa dommage
erreur définit par l'application ou par l'objet erreur 1004 !
tu c comment je peu faire? -
il faudrai initialiser le i =1 avant la boucle
c peut etre du à ça!! -
Bonjour,
il ny a plus ce mssage derreur mais il y en a 1 autre : "La méthode "range" de l'objet "_global" a échoué.Sub Macro1() Dim i As Long i = 1 While (i < 65565) If Range("a" & i).Value = "test" Then Range("b1").Value = Ok end if i = i + 1 Wend End Suble pb vient d'ou? merci! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
je comprends pas trop le but de ta macro
mais essay de faire la pas a pas pour voir quel cellule pose probleme,
-
Bonjour,
si ton but est de voir si une chaine est présente en colonne A pas besoin de macro. En B1 tu mets :
=SI(NB.SI(A:A;"=test")>0;"ok";"")
Si ton but est de mettre ok sur toutes les lignes où est présente la chaine test (car on ne sait tjs pas ce que tu veux exactement...) alors :
=SI(A1="test";"ok";"")
à recopier vers le bas
eric -
Bonjour,
le problème c'est que j'ai atteint le maximum de mise en forme conditionnelle.
Je l'ai donc coder, mais ma macro est du type :If Range("O160") <> "" Then
Range("M160").Interior.Color = RGB(51, 51, 255)
Else: Range("M160").Interior.Color = RGB(255, 255, 255)
End If
Comment faire pour faire quelque chose du type :
If Range("O") <> "" Then
Range("M").Interior.Color = RGB(51, 51, 255)
Else: Range("M").Interior.Color = RGB(255, 255, 255)
End If
Merci ! -
Bonjour,
heuuuu, ça n'a plus rien à voir du tout avec ta demande initiale...
Tu as changé ton fusil d'épaule ou bien c'est une nouvelle demande ?
Car dans un cas tu recherches une chaine précise pour mettre ok dans une cellule, dans l'autre n'importe quelle saisie te colorie une autre cellule
Si tu veux bien décrire précisement ce que tu souhaites et quel est ton but stp
En attendant voici un exemple pour balayer la colonne O en se limitant à la dernière cellule avec saisie :For i = 1 To [O65536].End(xlUp).Row If Cells(i, "O") <> "" Then ' ton traitement End If Next i
eric -
J'ai plusieurs colonnes, dans un de mes tests, j'ai une colonne O et une colonne L.
Je voudrais, lorsque on entre une donnée dans O (nimporte quelle cellule, la 7ieme ou la 54321ieme) si la cellule de la collone L n'est pas rempli, elle devient bleu.
Donc si j'entre une donnée dans "O54321", "L54321" devient bleu si il n'y a aucune donné dedans.
Pareil dans l'autre sens, si L remplit, O bleu si vide.
Merci de m'aider !