Erreur macro si cellule vide [Résolu/Fermé]

Signaler
-
Messages postés
8186
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2020
-
Bonjour,

J'ai une macro comme ceci:
Sub test()
Dim Cell1 As Range
Dim Cell2 As Range
Dim Cell3 As Range

Set Cell1 = Range("D22")
Set Cell2 = Range("D22:D37").Find("*", , xlValues, , , xlPrevious)
Set Cell3 = Worksheets("FD").Columns("C:C").Find("*", , xlValues, , , xlPrevious).Offset(1)
Range(Cell1, Cell2).Copy
Cell3.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False

End Sub

Le problème c'est que si je n'ai rien d'inscris dans la rangée d22:d37.la macro me fais une erreur.comment faire pour que si j'ai pas rempli ces cellules que je ne reçoive pas ce méssage d'érreur car ma macro fonctionne bien!

4 réponses

Messages postés
8186
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2020
1 472
Quelle erreur ?
Messages postés
8186
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2020
1 472
Re,

Dans ton exemple, il y a un titre de colonne, si tu changes les règles, c'est normal qu'il y ai une erreur.
Pour éviter l'erreur si la colonne est entièrement vide et pour éviter de recopier le titre de colonne quand la colonne n'est pas renseignée :

Après:
  Set Cell2 = Columns("D:D").Find("*", , xlValues, , , xlPrevious)
Ajouter :
  If Cell2 Is Nothing Then Exit Sub            'colonne vide
  If Cell2.Row < Cell1.Row Then Exit Sub       'colonne non renseignée
merci vous êtes des génis!
je suis un réel débutant.ce forum la es riche par son partage de connaissances.
bravo!
Messages postés
8186
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2020
1 472
De rien, ici il n'y a pas plus de génie que de lampe magique, seulement des bénévoles qui partagent leurs connaissances.

Au plaisir de te relire.