Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Besoin d'aide Bug Excel

stevenc

XLDnaute Nouveau
Bonjour,

J'aurais besoin d'aide sur un de mes fichiers Excel qui plante et je ne trouve pas l'erreur.
Je vous explique :

J'ai une formule en VBA sur l'onglet de la première feuille qui dit que :

- de d5 à d23 , si la cellule est vide alors rien en colonne G et si la cellule est remplie, la date du jour se met automatiquement dans la cellule correspondante en G.

Si je ne met que cette formule , la macro fonctionnait niquel.

Sauf que je souhaite rajouter :

- de d5 à d23, si le texte compris dans la cellule est égal au texte compris dans une cellule quelconque en colonne O alors il m'affiche le numéro correspondant au texte se trouvant en colonne P

Vous trouverez dans mon fichier ce que j'ai tenté mais cela ne fonctionne pas. Si je rentre une valeur par exemple en colonne D, la macro va ensuite planter.

Pourriez-vous m'aider svp ?

Merci
 

Pièces jointes

  • Macro.xlsm
    15.5 KB · Affichages: 45
  • Macro.xlsm
    15.5 KB · Affichages: 50
  • Macro.xlsm
    15.5 KB · Affichages: 50

Modeste

XLDnaute Barbatruc
Re : Besoin d'aide Bug Excel

Bonjour stevenc,

J'ai l'impression de mieux comprendre tes explications ... que le code que tu avais écrit ... mais je n'ai peut-être rien compris, ni aux unes, ni à l'autre!?

Teste ce code en lieu et place du tien (j'ai ajouté 1 ou 2 commentaires)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D5:D23]) Is Nothing Then 'vérifie si la modif a eu lieu en D5:D23
    If Application.CountIf([O5:O11], Target) Then 'CountIf = équiv de la fonction NB.SI
        Target.Offset(0, 3) = Cells(Application.Match(Target, [O1:O11], 0), "P") 'Match = équiv de la fonction ... EQUIV
    Else
        Target.Offset(0, 3) = Now 'insère date et heure
    End If
End If
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…