Erreur macro si cellule vide

Résolu
mickysor -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Quelle erreur ?
    0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    
    0
  3. mickysor
     
    merci vous êtes des génis!
    je suis un réel débutant.ce forum la es riche par son partage de connaissances.
    bravo!
    0
  4. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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.
    0