Créer une commande automatique par chiffre !

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #17806821
Bonjour,

=SI(A2="";"";INDEX(Locaux;EQUIV(A2;NumCle;0)))
Tu peux t'inspirer de l'exemple ci-dessous
http://cjoint.com/?llkHicnyl1

--
Salutations
JJ


"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.


Youky
Le #17806811
Salut Guillou,
Mets tes listes en Feuil2 col A les N° et col B ..Clés et autres
Fait ensuite un click de souris avec le bouton droit et visualiser le code
Recopier directement le tout dans la fenêtre blanche
Youky

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub 'que si col C
Cells(Target.Row, 2) = Application.VLookup(Target.Value, [Feuil2!A1:B100],
2, False)
End Sub

Possibilité aussi de mettre la formule RecherchV en col B

"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.


irosh
Le #17807221
guillou a écrit :
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.


bonjour guillou

en supposant que tu es deux feuilles feuil1 et feuil2 dans un workbook

tu aurais j'imagine une liste de correspondance entre tes chiffres et la
clé correspondante

du genre
colonne A colonne b
clé voiture 10
clé maison 34
clé appart 55
clé sellier 59
clé bureau 88
clé 605 94
clé cadena 1 88
clé cadena 2 16
clé cadena 3 77





ton traitement dans la feuil1

Private Sub Worksheet_Change(ByVal Target As Range)
affectationClé Target
End Sub



Private Sub affectationClé(ByVal Target As Range)
Dim wks2, wks As Worksheet
Dim myrng, foundcell As Range

On Error GoTo erreur
Set wks = Worksheets("feuil1")
Set wks2 = Worksheets("feuil2")

With wks2
Set myrng = .Range("b1:b500")
End With

With myrng
Set foundcell = .Cells.Find(Target.Text, _
after:=.Cells(.Cells.Count), _
LookIn:=xlValues)
End With
If Not foundcell Is Nothing Then
wks.Cells(Target.Row, Target.Column - 1).Value wks2.Cells(foundcell.Row, foundcell.Column - 1).Value
End If

Exit Sub
erreur:
msgbox""
End Sub




c'est un début on va dire
irosh
Le #17807371
irosh a écrit :
guillou a écrit :
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.


bonjour guillou

en supposant que tu es deux feuilles feuil1 et feuil2 dans un workbook

tu aurais j'imagine une liste de correspondance entre tes chiffres et la
clé correspondante

du genre
colonne A colonne b
clé voiture 10
clé maison 34
clé appart 55
clé sellier 59
clé bureau 88
clé 605 94
clé cadena 1 88
clé cadena 2 16
clé cadena 3 77





ton traitement dans la feuil1

Private Sub Worksheet_Change(ByVal Target As Range)
affectationClé Target
End Sub



Private Sub affectationClé(ByVal Target As Range)
Dim wks2, wks As Worksheet
Dim myrng, foundcell As Range

On Error GoTo erreur
Set wks = Worksheets("feuil1")
Set wks2 = Worksheets("feuil2")

With wks2
Set myrng = .Range("b1:b500")
End With

With myrng
Set foundcell = .Cells.Find(Target.Text, _
after:=.Cells(.Cells.Count), _
LookIn:=xlValues)
End With
If Not foundcell Is Nothing Then
wks.Cells(Target.Row, Target.Column - 1).Value > wks2.Cells(foundcell.Row, foundcell.Column - 1).Value
End If

Exit Sub
erreur:
msgbox""
End Sub




c'est un début on va dire







mais youki a la solution en deux ligne oublie mon usine à gaz :)
guillou
Le #17816431
guillou a écrit le 11/11/2008 à 09h55 :
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.


Merci à tous pour vos réponses, cependant je n'arrive pas encore à faire fonctionner cette commande, avec celle de "Youky" c'est proche du résultat mais j'ai une erreur (#: N/A) en retour dans la cellule concernée, il doit y manquer quelques choses pour pioché dans la base de donnée (liste des clés en feuil2), et avec la commande de "irosh" j'ai une Box qui s'ouvre à chaque saisies! J'ai tourner autour des commandes toutes la nuit sans réussir. Toutefois avec votre aide je sais que c'est possible à faire et que le résultat n'est pas loins, encore merci à vous et pour ceux qui souhaites continuer à résoudre cette fonction, vos messages sont les bienvenue, Cordialement. Gilles.
Youky
Le #17820541
Salut

Fait ensuite un click de souris avec le bouton droit et visualiser le
code.....




Ne pas le faire sur Feuil2 mais bien sur Feuil1 ou la feuille concernée.
Aussi
[Feuil2!A1:B100],2, False ici Feuil2 est le nom de l'onglet et 100 le
nombre de lignes tu peux mettre
1000 si besoin, le 2 est la deuxieme colonne en partant de A1 et renvoie la
valeur qui est en colonne B
False est fait pour renvoyer juste et non pas au plus rapprochant et
target.value est le chiffre que tu viens d'écrire
Si tu as encore des PB va en insertion formule et choisit RecherchV
Youky

"guillou"
guillou a écrit le 11/11/2008 à 09h55 :
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.


Merci à tous pour vos réponses, cependant je n'arrive pas encore à faire
fonctionner cette commande, avec celle de "Youky" c'est proche du résultat
mais
j'ai une erreur (#: N/A) en retour dans la cellule concernée, il doit y
manquer
quelques choses pour pioché dans la base de donnée (liste des clés en
feuil2),
et avec la commande de "irosh" j'ai une Box qui s'ouvre à chaque saisies!
J'ai
tourner autour des commandes toutes la nuit sans réussir. Toutefois avec
votre
aide je sais que c'est possible à faire et que le résultat n'est pas
loins,
encore merci à vous et pour ceux qui souhaites continuer à résoudre cette
fonction, vos messages sont les bienvenue, Cordialement. Gilles.


guillou
Le #17857681
Youky a écrit le 12/11/2008 à 14h55 :
Salut

Fait ensuite un click de souris avec le bouton droit et visualiser le
code.....






Ne pas le faire sur Feuil2 mais bien sur Feuil1 ou la feuille concernée.
Aussi
[Feuil2!A1:B100],2, False ici Feuil2 est le nom de l'onglet et 100 le
nombre de lignes tu peux mettre
1000 si besoin, le 2 est la deuxieme colonne en partant de A1 et renvoie la
valeur qui est en colonne B
False est fait pour renvoyer juste et non pas au plus rapprochant et
target.value est le chiffre que tu viens d'écrire
Si tu as encore des PB va en insertion formule et choisit RecherchV
Youky

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

guillou a écrit le 11/11/2008 à 09h55 :
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.



Merci à tous pour vos réponses, cependant je n'arrive pas encore
à faire
fonctionner cette commande, avec celle de "Youky" c'est proche du
résultat
mais
j'ai une erreur (#: N/A) en retour dans la cellule concernée, il doit y
manquer
quelques choses pour pioché dans la base de donnée (liste des
clés en
feuil2),
et avec la commande de "irosh" j'ai une Box qui s'ouvre à
chaque saisies!
J'ai
tourner autour des commandes toutes la nuit sans réussir. Toutefois
avec
votre
aide je sais que c'est possible à faire et que le résultat n'est
pas
loins,
encore merci à vous et pour ceux qui souhaites continuer à
résoudre cette
fonction, vos messages sont les bienvenue, Cordialement. Gilles.





Merci Youki pour votre aide, j'ai fini par résoudre le hic qui fessait que cela ne fonctionnais pas, le message #:N/A était du au fait que les cellules étaient par défaut sur Standard et non sur Texte, après 6h de recherche cette après-midi j'ai fini par trouver. Mais j'ai encore un détail que j'aimerai, c'est de pouvoir avoir le résultat avec la mise en forme du texte (gras, couleur, etc-, vu que dans la liste certains sont en normal et d'autre en gras et même en couleur, en tout il y as 72 clés dans la liste et d'autres choses. Cdt, Gilles.
Youky
Le #17859621
Alors voici ...
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Or Target = "" Then Exit Sub 'que si col C
'fait boucle dans col A de feuil2 de 1 jusqu'a la derniere cells
'Feuil2 est le codeName et non le nom de l'onglet
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

Youky . . . .y

Merci Youki pour votre aide, j'ai fini par résoudre le hic qui fessait que
cela
ne fonctionnais pas, le message #:N/A était du au fait que les cellules
étaient
par défaut sur Standard et non sur Texte, après 6h de recherche cette
après-midi
j'ai fini par trouver. Mais j'ai encore un détail que j'aimerai, c'est de
pouvoir avoir le résultat avec la mise en forme du texte (gras, couleur,
etc-,
vu que dans la liste certains sont en normal et d'autre en gras et même en
couleur, en tout il y as 72 clés dans la liste et d'autres choses. Cdt,
Gilles.


Youky
Le #17862461
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
guillou
Le #17873411
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
Publicité
Poster une réponse
Anonyme