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 :confused: ... 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
 

Discussions similaires

Réponses
1
Affichages
161

Statistiques des forums

Discussions
312 890
Messages
2 093 350
Membres
105 696
dernier inscrit
FrancisR