Excel : Afficher date mise à jour en VBA sur plusieurs lignes [Résolu/Fermé]

Signaler
Messages postés
3
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
8 juin 2016
-
Messages postés
3
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
8 juin 2016
-
Bonjour à tous et avant tout merci pour tous les sujets que comporte votre forum et qui m'ont ôter une épine du pied plus d'une fois,

Je suis entrain de faire un tableau excel avec des tarifs de câbles qu'on utilise fréquemment par fournisseurs (je suis électricien). Comme le prix du câble varie en fonction du cours du cuivre, je veux avoir mes prix et la date de mise à jour pour savoir si le prix affiché est fiable ou s'il faut faire une consultation pour avoir des prix plus récents.
Je veux afficher sur ma ligne 5 les différents type de câbles, sur ma ligne 6 le nom du fournisseur fusionné sur la longueur, sur ma ligne 7 les prix pour chaque câble rentré à la main et sur ma ligne 8 la date de mise à jour du prix affiché. Jusque là, tout va bien j'ai trouvé grâce à un sujet sur votre forum cette formule qui marche très bien :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte

If Intersect(Target, Range("B7:V7")) Is Nothing Or Target.Count > 1 Then: Exit Sub
col = Target.Column
Cells(8, col) = Format(Date, "mm/dd/yy")

End Sub


Le soucis, c'est quand je m'attaque au 2e fournisseur. J'ai mon fournisseur sur la ligne 9, le prix sur la ligne 10 et la date de MàJ sur la ligne 11. J'ai essayé ça :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte

If Intersect(Target, Range("B7:V7")) Is Nothing Or Target.Count > 1 Then: Exit Sub
col = Target.Column
Cells(8, col) = Format(Date, "mm/dd/yy")
If Intersect(Target, Range("B10:V10")) Is Nothing Or Target.Count > 1 Then: Exit Sub
col = Target.Column
Cells(11, col) = Format(Date, "mm/dd/yy")

End Sub


mais ça ne marche pas, la première marche toujours très bien, mais il ne se passe rien dans ma ligne 11 quand je tape un prix dans la ligne 10.
j'ai essayé avec ElseIf, j'ai un message d'erreur, j'ai essayé Else tout seul entre les 2, j'ai essayé de mettre EndIf mais ça fait égament un emssage d'erreur (j'ai pas compris pourquoi par contre...) j'ai essayé de mettre ma deuxième formule après le Then de la première formule, j'ai essayé de faire 2 Worksheet_Change ça ne marche évidemment pas, j'ai tenté de mettre un And entre les 2 mais j'ai vu que ça ne se fait pas. Je ne sais pas s'il me manque juste un petit mot pour que la 2e soit prise en compte ou s'il faut passer par des macros pour les faire s'enchainer l'une après l'autre quand l'une n'est pas validée.
Pour résumer ce que j'essaie de faire c'est
"Si quelque chose dans B7:V7 alors date dans B8 et Si quelque chose dans B10:V10 alors date dans B11, etc... pour tous mes fournisseurs."

Merci d'avance et bonne journée

1 réponse

Messages postés
16447
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
10 mai 2021
3 170
suite au MP
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse

Dans l’attente

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
8 juin 2016

Bonjour,

Merci pour la réponse rapide :)

https://www.cjoint.com/c/FFhpbEdNqmc
Messages postés
16447
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
10 mai 2021
3 170 >
Messages postés
3
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
8 juin 2016

Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte
If Not Intersect(Target, Range("B7:AD7, B10:AD10, B13:AD13,B16:AD16")) Is Nothing Then
col = Target.Column
Target.Offset(1, 0) = Format(Date, "mm/dd/yy")
End If
End Sub
...
Messages postés
3
Date d'inscription
mardi 7 juin 2016
Statut
Membre
Dernière intervention
8 juin 2016
>
Messages postés
16447
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
10 mai 2021

Merveilleux !! Merci infiniment !
Il va falloir que je me fasse des cours de VBA moi...