execute macro si cellule active est une date

pralo

XLDnaute Junior
bonsoir le forum
besoin d'aide svp
je n'arrive a trouvé mon bonheur (ou alors je ne sais pas chercher)
je voudrait exécuter cette macro uniquement si la cellule active est une date mais je n' arrive a trouvé la solution
merci pour votre aide

VB:
Sub Tri_Données()
Dim d As Date 'déclare la variable d (Date)
Dim cel As Range 'déclare la variable cel (CELlule)
 
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Sheets("Copie").Cells.Clear 'efface d'éventuelles anciennes données
'définit la variable d en fonction de la valeur de la cellule active
    d = ActiveCell.Select
   
For Each cel In op.Columns(1).SpecialCells(xlCellTypeFormulas) 'boucle sur toutes les cellules de la colonne 1 contenant des formules
     If cel.Value = d Then 'condition : si la valeur de la cellule est égale à d
         ActiveWindow.ScrollRow = cel.Row 'place la ligne de d en haut du volet
         cel.Select
       'ActiveCell.Offset(4, 0).Select  'sélectionne la première cellule quatre lignes en dessous
        
         Exit For 'sort de la boucle
     End If 'fin de la condition
Next cel 'prochaine cellule de la boucle
With Sheets("Copie") 'prend en compte l'onglet "Copie du Jour"

ActiveCell.Offset(rowOffset:=4, columnOffset:=0).Activate

ActiveCell.Resize(40, 10).Copy .Range("A1") 'copie la cellule active redimensionnée + 84 lignes et + 14 colonnes
          .Select 'sélectionne l'onglet
        End With 'fin de la prise en compte de l'onglet "Copie du Jour"Sheets("Copie du Jour").Select
  
        Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran

End Sub
 

Dranreb

XLDnaute Barbatruc
Bonsoir
Il y a déjà une erreur: d = ActiveCell.Select
À mon avis ça sélectionne la cellule active de la plage sélectionnée et ça affecte à d un code retour de bonne exécution de cette méthode qui n'a rien à voir avec la valeur de la cellule active.
Je dirais :
VB:
With ActiveCell
   If VarType(.Value) <> vbDate Then Exit Sub
   d = .Value: End With
 

Discussions similaires

Réponses
3
Affichages
285

Statistiques des forums

Discussions
288 581
Messages
1 893 171
Membres
169 777
dernier inscrit
Bazilecr
Haut Bas