[Macro] Si [D6]= l'un des éléments de la colonne U

  • Initiateur de la discussion Initiateur de la discussion anthony_unac
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

anthony_unac

Guest
Bonjour,

Une petite macro me donne du fil à retordre j'aimerai coder l'instruction suivante :
Si [D6]= l'un des éléments de la colonne U

Sachant que dans la colonne U il y a des noms de fournisseurs.

Si vous pouviez me filer un coup de patte ca serait cool.

Cordialement
Anthony
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Bonsoir Anthony, bonsoir le forum,

Je te propose la macro événementielle Change à placer dans le composant Worksheet de l'onglet en question (Feuil1(Feuil1) par exemple) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet

'si l'adresse de la cellule où a lieu le changement est différente de D6, sort de la procédure
If Target.Address <> "$D$6" Then Exit Sub
'si D6 est effacée, sort de la procédure
If Target.Value = "" Then Exit Sub

's'il existe au moins une occurrence de D6 dans la colonne U, lance la macro
If Not Columns(21).Find(Target.Value, , xlValues, xlWhole) Is Nothing Then Call Ma_macro
End Sub
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Merci beaucoup Robert,

Vous êtes toujours aussi fort tant au niveau de la rédaction que de la réactivité. Je vais essayer ça et je vous tiens au jus.

Cordialement
Anthony
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Bonsoir Anthony, bonsoir le forum,

Ha ha ha ! Arrête Anthony après j'ai les chevilles et le melon qui enflent et je me prend pour ce que je ne suis pas...
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Aie ça ne fonctionne pas comme je l'imaginais 🙁

Voici la dite macro que j'ai légèrement modifié :

Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet

'si l'adresse de la cellule où a lieu le changement est différente de D6, sort de la procédure
If Target.Address <> "$D$6" Then Exit Sub
'si D6 est effacée, sort de la procédure
If Target.Value = "" Then Exit Sub

's'il existe au moins une occurrence de D6 dans la colonne U, lance la macro
If Not Columns(21).Find(Target.Value, , xlValues, xlWhole) Is Nothing Then

[G6] = "PRODUIT TECHNIQUE"
[H6] = "SAV"

End Sub

Cordialement

Anthony
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Bonsoir Anthony, bonsoir le forum,

Il te manque un End If... :
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet

'si l'adresse de la cellule où a lieu le changement est différente de D6, sort de la procédure
If Target.Address <> "$D$6" Then Exit Sub
'si D6 est effacée, sort de la procédure
If Target.Value = "" Then Exit Sub

's'il existe au moins une occurrence de D6 dans la colonne U, lance la macro
If Not Columns(21).Find(Target.Value, , xlValues, xlWhole) Is Nothing Then
      [G6] = "PRODUIT TECHNIQUE"
      [H6] = "SAV"
[COLOR=red]End If[/COLOR]
End Sub
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Exact !

Si vous n'avez pas encore le melon, vous avez au moins l'œil 😛

Malheureusement, ça ne fonctionne pas plus pour autant ?

Je me suis peut etre mal exprimé au début alors je vais reformulé ce que je souhaite coder :

"Si [D6] est égal à l'un des éléments de la colonne U alors [G6] = "PRODUIT TECHNIQUE" et [H6] = "SAV"

Cordialement
Anthony
 
Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Bonsoir Anthony, bonsoir le forum,

J'ai modifié un peu mais ça marche ! Regarde la pièce jointe...
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
'si l'adresse de la cellule où a lieu le changement est différente de D6, sort de la procédure
If Target.Address <> "$D$6" Then Exit Sub
 
'si D6 est effacée, efface aussi G6 et H6
If Target.Value = "" Then
      [G6] = ""
      [H6] = ""
      Exit Sub
End If
 
's'il existe au moins une occurrence de D6 dans la colonne U, lance la macro
If Not Columns(21).Find(Target.Value, , xlValues, xlWhole) Is Nothing Then
      [G6] = "PRODUIT TECHNIQUE"
      [H6] = "SAV"
End If
End Sub
 

Pièces jointes

Re : [Macro] Si [D6]= l'un des éléments de la colonne U

Je pense avoir compris mon erreur c'est que j'avais placé votre macro dans le workbook au lieu du worksheet

Merci beaucoup Robert la ca fonctionne du tonnerre !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
1 K
H
Réponses
21
Affichages
3 K
H
A
Réponses
2
Affichages
1 K
A
A
Réponses
12
Affichages
2 K
AnjyD
A
Retour