Un petit test a effectuer

Résolu
Bonsoir a tous, forum bonsoir

*

Excel 2007 - VBA

Le petit code ci-joint effectue un MAJ d'une plage a la date du jour
ca fonctionne bien.

Cependant une erreur se produit lorsqu'il ni a rien dans la plage

(( Error d'execution '1004' Pas de cellules correspondantes ))

et je n'arrive pas a tester le cas ou il ni a rien dans la plage

Merci de votre aide, je vous souhaite la bonne soirée a tous

Cordialement Ray


Public Sub MAJ_Date()
Dim Ws As Worksheet, Plage As Range
Set Ws = Worksheets("Carte bleue")

With Ws
Set Plage = .Range("F2:F40").SpecialCells(xlCellTypeConstants)
End With

Plage = Date
Plage.NumberFormat = "dd/mm/yyyy"
End Sub

2 réponses

  1. Salut lermite222

    Merci pour ta réponse et pour la modification du code

    je n'ai pas penser a
    On Error GoTo 

    Donc merci beaucoup, ca fonctionne bien l'erreur n'ai plus engendrer lorsqu'il ni a rien dans la plage("F2:F40").

    En réponse: Pourquoi passer la feuille en variable ?

    le code a été modifier plusieurs fois et je ne sais plus si c'est moi l'auteur.

    Me reste a te remercier de nouveau pour ton aide et de te souhaiter une bonne fin d'après midi.

    Bien cordialement Raymond
    0
    1. Contributeur
      Bonjour,
      Ca dépend de ce que tu veux faire..
      La constante que tu emploi remplace des valeur DEJA renseignées, s'il n'y en a aucune ça génère une erreur.

      Si tu veux remplir TOUTES les cellules de F2 à F40 met seulement
          Set Plage = .Range("F2:F40")
      Si tu veux remplacer seulement les cellules qui ont déjà une donnée met

       Public Sub MAJ_Date()
      Dim Plage As Range
      With Sheets("Carte bleue")
      On Error GoTo Sortie
      Set Plage = .Range("F2:F40").SpecialCells(xlCellTypeConstants)
      End With

      Plage = Date
      Plage.NumberFormat = "dd/mm/yyyy"
      Sortie:
      End Sub
      Pourquoi passer la feuille en variable ?
      A+
      0