Macr Excel - une condition supplementaire
Résolu
temy
-
temy -
temy -
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
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
1 réponse
-
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