Macr Excel - une condition supplementaire

Résolu/Fermé
temy - 20 oct. 2010 à 10:46
 temy - 20 oct. 2010 à 14:54
Bonjour,

Quelqu'un pourra-il me donner le code qui permettra á la macro de s'arreter quand mon tableau dans Excel se termine?
Je m'explique:
Jai fait une macro me permettant de remplir les cellules vides d'une colonne nommée "AU".
Le probleme est que l'execution de la macroce continue indefiniment, et depasse les limites de mon tableau.
Jai 2 colonnes dans mon tableau qui ont toujours des données et lorsqu'elles n'en ont pas, alors cela signifie que le tableau est á sa fin...mais je ne sais pas comment ecrit le code (par rapport á l'une de ces colonnes) qui me permettra d'arreter l'execution de la mcro quand le tableau sera á sa fin.

Voilá ce que jai deja ecrit:
Sub Makro_Column_AU()
Worksheets(1).Activate
Worksheets(1).Columns("AU:AU").Select
For Each zellen In Selection



If zellen.Value = "" Then



zellen.Value = zellen.Offset(rowOffset:=-1).Value



End If



Next zellen

'
End Sub

Merci infiniment de vos reponsessssssss

A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 757
20 oct. 2010 à 13:14
Bonjour,
Ton problème vient du fait que tu sélectionnes toute ta colonne (Worksheets(1).Columns("AU:AU").Select) et après tu appliques ta macro à la sélection.
Sélectionnes moins...
Worksheets(1).Range("AU1:AU1000").Select 

Ou alors ne sélectionnes que jusqu'à la dernière ligne remplie de la colonne A :
Dim DerniereLigne As Long
DerniereLigne = Worksheets(1).Range("A65536").End(xlUp).Row
Worksheets(1).Range("AU1:AU"& DerniereLigne).Select 

Ou alors encore mieux, ne sélectionnes rien :
Sub Makro_Column_AU() 
Dim DerniereLigne As Long
Dim Lign as Long
Worksheets(1).Activate 
DerniereLigne = Worksheets(1).Range("A65536").End(xlUp).Row
For Lign = 1 To DerniereLigne
If Cells(Lign, 47).Value = "" Then 'ici 47 = 47ème Col soit Col "AU"
    Cells.Value = Cells.Offset(rowOffset:=-1).Value 
End If 
Next Lign 
End Sub 
0
Vraiment Pijaku, je te remercies.
Cest vraiment gentil de ta part de me donner ces pistes.
Jai utilisé le 2e cas que tu m'as proposé et il a parfaitement matché avec l'ensemble du code et tout s'est tres bien passé comme je voulais.
T'es coll!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0