Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Créer une commande automatique par chiffre !

13 réponses
Avatar
guillou
Bonjour,

Je souhaite créer si possible une commande (macro, etc) qui pourai affecté à une colonne une frappe automatique dans la cellule de la colonne précédente Exemple: je tape le chiffre 34 dans la colonne C ligne 10 (ou n'inporte qu'elle autre ligne) et apparait le texte " Clés de la cuisine" dans la colonne B ligne 10. j'ai beau chercher je trouve pas, il faut dire que je suis novice en excel et que je mis perd dans l'aide de VBA. Ceci pour créer chaques jours une liste de clés en entrant que son n° dans la colonne choisis.
Merci à ceux ou celles qui auront la solutions.

3 réponses

1 2
Avatar
Youky
Non Guillou,
Cela ne proviens pas de cette macro ce qui est enregistré reste tel-quel je
pense à autre chose
Ouvre ton fichier, en VBA va en menu Affichage et Fenêtre Excécution copie
la ligne ci-dessous,
et positionne le curseur en bout de ligne et presse sur la touche Entrer et
enregistre.

Application.EnableEvents = True

ceci à pour but de remettre les événements actifs s'il y a eu un plantage en
étant à....... úlse
Youky

"guillou" a écrit dans le message de news:

Youky a écrit le 16/11/2008 à 16h26 :
Au cas d'effacement de plusieurs cellules j'ai rajouté une ligne pour
éviter
le bug.
Youky

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 3 Or Target = "" Then Exit Sub 'que si col
C
For k = 1 To Feuil2.[A65000].End(3).Row
If Target.Value = Feuil2.Cells(k, 1) Then
Feuil2.Cells(k, 2).Copy Cells(Target.Row, 2)
Exit For
End If
Next
End Sub


Merci youky, effectivement cela fonctionne bien maintenant sauf que cela
fonctionne que pendant le temps de l'ouverture du fichier, une fois
enregistré
et fermer, a la prochaine ouverture du fichier plus rien ne fonctionne !
nouveau
bug? je suis obligé de créer un nouveau fichier et de recommencer!
bizarre! Cdt.
Gilles


Avatar
guillou
Youky a écrit le 17/11/2008 à 17h18 :
Non Guillou,
Cela ne proviens pas de cette macro ce qui est enregistré reste tel-quel
je
pense à autre chose
Ouvre ton fichier, en VBA va en menu Affichage et Fenêtre
Excécution copie
la ligne ci-dessous,
et positionne le curseur en bout de ligne et presse sur la touche Entrer et
enregistre.

Application.EnableEvents = True

ceci à pour but de remettre les événements actifs s'il y a
eu un plantage en
étant à....... úlse
Youky

"guillou" a écrit dans le
message de news:

Youky a écrit le 16/11/2008 à 16h26 :
Au cas d'effacement de plusieurs cellules j'ai rajouté une ligne pour
éviter
le bug.
Youky

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column <> 3 Or Target = "" Then Exit Sub 'que si
col
C
For k = 1 To Feuil2.[A65000].End(3).Row
If Target.Value = Feuil2.Cells(k, 1) Then
Feuil2.Cells(k, 2).Copy Cells(Target.Row, 2)
Exit For
End If
Next
End Sub



Merci youky, effectivement cela fonctionne bien maintenant sauf que cela
fonctionne que pendant le temps de l'ouverture du fichier, une fois
enregistré
et fermer, a la prochaine ouverture du fichier plus rien ne fonctionne !
nouveau
bug? je suis obligé de créer un nouveau fichier et de
recommencer!
bizarre! Cdt.
Gilles





Ok ça marche, Excel m'informe que les macros sont désactivées et après avoir changer le niveau de sécurité c'est bon! Merci Youky. j'ai tenté de mettre le macro en double pour utilisé une seconde liste de données en feuille 3 sur le même principe en choisissant d'autres colonne pour la feuille 3, mais ça fonctionne pas. ont peu pas fait ca? Colonne F envoie donnée de la base feuille2 sur colonne E et colonne C envoie donnée de la base feuille3 à la colonne B, par exemple! Cdt. Gilles
Avatar
Youky
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Or Target = "" Then Exit Sub

If Target.Column = 6 Then ' que col F
For k = 1 To Feuil2.[A65000].End(3).Row
If Target.Value = Feuil2.Cells(k, 1) Then
Feuil2.Cells(k, 2).Copy Cells(Target.Row, 5) '5 est col E
Exit For
End If
Next
End If

If Target.Column = 3 Then ' que col C
For k = 1 To Feuil3.[A65000].End(3).Row
If Target.Value = Feuil3.Cells(k, 1) Then
Feuil3.Cells(k, 2).Copy Cells(Target.Row, 2) '2 est col B
Exit For
End If
Next
End If

End Sub

Youky





Ok ça marche, Excel m'informe que les macros sont désactivées et après
avoir
changer le niveau de sécurité c'est bon! Merci Youky. j'ai tenté de mettre
le
macro en double pour utilisé une seconde liste de données en feuille 3 sur
le
même principe en choisissant d'autres colonne pour la feuille 3, mais ça
fonctionne pas. ont peu pas fait ca? Colonne F envoie donnée de la base
feuille2
sur colonne E et colonne C envoie donnée de la base feuille3 à la colonne
B, par
exemple! Cdt. Gilles


1 2