exécuter macro si cellule pas vide

Le
Daniel
Bonjour à tous

J'ai une macro qui importe un fichier texte donc je ne connais pas le nombre
de ligne.
puis je doit exécuter une autre macros sur chacune des lignes .

Comment faire pour que ma deuxième macro s'exécute sur chacune des lignes
une après l'autre.
(a la fin de la macros la cellule active est une cellule en dessous de la
ligne exécuter.)
la dernière ligne est vide ,la ou la macros doit finir.


Merci
Vos réponses
Trier par : date / pertinence
LSteph
Le #3030771
Bonjour,
dans l'incertitude du contenu de ta macro qui pouurrait s'avèrer suppressive
de la ligne
proposé une boucle en remontant et qui retournera à la fin après:

'****
Sub mamac2()
For i = [a65536].End(3).Row To 1 Step -1
''''''''''ici: call macro2 ou le contenu
Next
[a65536].End(3).Offset(1, 0).Select
End Sub
'***

'lSteph
"Daniel" %
Bonjour à tous

J'ai une macro qui importe un fichier texte donc je ne connais pas le
nombre de ligne.
puis je doit exécuter une autre macros sur chacune des lignes .

Comment faire pour que ma deuxième macro s'exécute sur chacune des lignes
une après l'autre.
(a la fin de la macros la cellule active est une cellule en dessous de la
ligne exécuter.)
la dernière ligne est vide ,la ou la macros doit finir.


Merci



LSteph
Le #3030761
..et peut être exemple plus concret avec coloration de la ligne rows(i)
une ligne sur deux:
'**
Sub mamac2()
For i = [a65536].End(3).Row To 1 Step -1
If Rows(i).Row Mod 2 = 0 Then
Rows(i).Cells.Interior.ColorIndex = 8
End If
Next
[a65536].End(3).Offset(1, 0).Select
End Sub
'**

Nota tu peux aussi utiliser l'indice de boucle pour une cellule ex:
cells(i,4)

"Daniel" %
Bonjour à tous

J'ai une macro qui importe un fichier texte donc je ne connais pas le
nombre de ligne.
puis je doit exécuter une autre macros sur chacune des lignes .

Comment faire pour que ma deuxième macro s'exécute sur chacune des lignes
une après l'autre.
(a la fin de la macros la cellule active est une cellule en dessous de la
ligne exécuter.)
la dernière ligne est vide ,la ou la macros doit finir.


Merci



Daniel
Le #3028601
Bonsoir LSteph

Très bien cela fonctionne bien.
je voudrait exécuter la répétition sur les lignes qui contienne la lettre
"U"
et passer les autres.
Dans l'exemple suivante la macro s'exécuterais seulement 3 foix.

2400001N
2400007U
2400022N
2400025U
2400024U
2400034N
2400037N


voici le début de la macros:

Sub Tout_Waypoints_TestCar()
Range("A1").Select
For i = [a65536].End(3).Row To 1 Step -1
ActiveCell.Offset(0, 2).Select
Selection.Copy ............
........

Merci

"LSteph"
Bonjour,
dans l'incertitude du contenu de ta macro qui pouurrait s'avèrer
suppressive de la ligne
proposé une boucle en remontant et qui retournera à la fin après:

'****
Sub mamac2()
For i = [a65536].End(3).Row To 1 Step -1
''''''''''ici: call macro2 ou le contenu
Next
[a65536].End(3).Offset(1, 0).Select
End Sub
'***

'lSteph
"Daniel" %
Bonjour à tous

J'ai une macro qui importe un fichier texte donc je ne connais pas le
nombre de ligne.
puis je doit exécuter une autre macros sur chacune des lignes .

Comment faire pour que ma deuxième macro s'exécute sur chacune des lignes
une après l'autre.
(a la fin de la macros la cellule active est une cellule en dessous de la
ligne exécuter.)
la dernière ligne est vide ,la ou la macros doit finir.


Merci







Publicité
Poster une réponse
Anonyme