j'ai un fichier Excel qui repr=E9sente un suivi d'ouvrier
le fichier est organis=E9 ainsi
1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situ=E9 toutes les 10 lignes
A1 - a10 - a20 - a30 - a40 - a50
(les 9 lignes interm=E9diaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante.
Un onglet est actif (disons F=E9vrier)
Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par
ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et
la s=E9lection se trouve sur l'ouvrier s=E9lectionn=E9.
Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans
toutefois d=E9passer 20.
Bonjour Plutôt que d'utiliser des boutons pour chaque ouvrier, je te suggère une zone de liste (ce sera plus léger ;-). A l'initialisation de ton formulaire, tu établis ta liste d'ouvrier. Une fois l'ouvrier choisi dans ta liste, tu es directement positionné sur sa ligne dans la feuille. Il te faut 1 userform, un objet combobox et le code suivant à positionner dans ton userform :
Private Sub ComboBox1_Change() ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value).Activate UserForm1.Hide Unload UserForm1 End Sub Private Sub UserForm_Initialize() Dim i As Long For i = 10 To ThisWorkbook.ActiveSheet.Range("A65536").End(xlUp).Row Step 10 Me.ComboBox1.AddItem ThisWorkbook.ActiveSheet.Range("A" & i).Value Next i End Sub
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier le fichier est organisé ainsi 1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes A1 - a10 - a20 - a30 - a40 - a50 (les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante. Un onglet est actif (disons Février) Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et la sélection se trouve sur l'ouvrier sélectionné. Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans toutefois dépasser 20.
Comment cela serait il possible ?
Merci
Bonjour
Plutôt que d'utiliser des boutons pour chaque ouvrier, je te suggère une
zone de liste (ce sera plus léger ;-).
A l'initialisation de ton formulaire, tu établis ta liste d'ouvrier.
Une fois l'ouvrier choisi dans ta liste, tu es directement positionné sur sa
ligne dans la feuille.
Il te faut 1 userform, un objet combobox et le code suivant à positionner
dans ton userform :
Private Sub ComboBox1_Change()
ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value).Activate
UserForm1.Hide
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
Dim i As Long
For i = 10 To ThisWorkbook.ActiveSheet.Range("A65536").End(xlUp).Row Step 10
Me.ComboBox1.AddItem ThisWorkbook.ActiveSheet.Range("A" & i).Value
Next i
End Sub
Cordialement
Pascal
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
5a7c0a48-073a-49a1-90e5-1886f32ecfba@c58g2000hsc.googlegroups.com...
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier
le fichier est organisé ainsi
1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes
A1 - a10 - a20 - a30 - a40 - a50
(les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante.
Un onglet est actif (disons Février)
Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par
ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et
la sélection se trouve sur l'ouvrier sélectionné.
Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans
toutefois dépasser 20.
Bonjour Plutôt que d'utiliser des boutons pour chaque ouvrier, je te suggère une zone de liste (ce sera plus léger ;-). A l'initialisation de ton formulaire, tu établis ta liste d'ouvrier. Une fois l'ouvrier choisi dans ta liste, tu es directement positionné sur sa ligne dans la feuille. Il te faut 1 userform, un objet combobox et le code suivant à positionner dans ton userform :
Private Sub ComboBox1_Change() ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value).Activate UserForm1.Hide Unload UserForm1 End Sub Private Sub UserForm_Initialize() Dim i As Long For i = 10 To ThisWorkbook.ActiveSheet.Range("A65536").End(xlUp).Row Step 10 Me.ComboBox1.AddItem ThisWorkbook.ActiveSheet.Range("A" & i).Value Next i End Sub
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier le fichier est organisé ainsi 1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes A1 - a10 - a20 - a30 - a40 - a50 (les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante. Un onglet est actif (disons Février) Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et la sélection se trouve sur l'ouvrier sélectionné. Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans toutefois dépasser 20.
Comment cela serait il possible ?
Merci
Fredo(67)
Salut
Bonne idée que Zone de liste J'ai recopié le code que tu m'as donné, j'ai créé un userform dans lequel j'ai inséré une zone de liste modifiable (ComboBox1) j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable Pour mémoire ton code n'a pas été modifié par le copier/coller....
Salut
Bonne idée que Zone de liste
J'ai recopié le code que tu m'as donné,
j'ai créé un userform dans lequel j'ai inséré une zone de liste
modifiable (ComboBox1)
j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable
Pour mémoire ton code n'a pas été modifié par le copier/coller....
Bonne idée que Zone de liste J'ai recopié le code que tu m'as donné, j'ai créé un userform dans lequel j'ai inséré une zone de liste modifiable (ComboBox1) j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable Pour mémoire ton code n'a pas été modifié par le copier/coller....
Fredo(67)
Ouch ! Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont issus d'une formule þuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule mais à la valeurs renvoyée.
Est-ce encore possible
Ouch !
Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont
issus d'une formule
=feuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule
mais à la valeurs renvoyée.
Ouch ! Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont issus d'une formule þuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule mais à la valeurs renvoyée.
Est-ce encore possible
papou
Re Non, en principe tu as tout ce qu'il te faut. Tu as bien sûr positionné le code dans le code du Userform et non pas dans un module ?
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Salut
Bonne idée que Zone de liste J'ai recopié le code que tu m'as donné, j'ai créé un userform dans lequel j'ai inséré une zone de liste modifiable (ComboBox1) j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable Pour mémoire ton code n'a pas été modifié par le copier/coller....
Re
Non, en principe tu as tout ce qu'il te faut.
Tu as bien sûr positionné le code dans le code du Userform et non pas dans
un module ?
Cordialement
Pascal
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
e6043b5a-2927-4beb-b76a-ceda972dc835@l42g2000hsc.googlegroups.com...
Salut
Bonne idée que Zone de liste
J'ai recopié le code que tu m'as donné,
j'ai créé un userform dans lequel j'ai inséré une zone de liste
modifiable (ComboBox1)
j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable
Pour mémoire ton code n'a pas été modifié par le copier/coller....
Re Non, en principe tu as tout ce qu'il te faut. Tu as bien sûr positionné le code dans le code du Userform et non pas dans un module ?
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Salut
Bonne idée que Zone de liste J'ai recopié le code que tu m'as donné, j'ai créé un userform dans lequel j'ai inséré une zone de liste modifiable (ComboBox1) j'ai aussi créé une tita macro pour lancer l'userform
mais le combobox reste vide....
aurais-je loupé une config, ou variable Pour mémoire ton code n'a pas été modifié par le copier/coller....
papou
Pas d'incidence pour la construction de la liste, je viens de vérifier. Par contre il faut modifier la 1ère ligne dans l'évènement Combobox1.Change : ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value, LookIn:=xlValues).Activate
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Ouch ! Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont issus d'une formule þuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule mais à la valeurs renvoyée.
Est-ce encore possible
Pas d'incidence pour la construction de la liste, je viens de vérifier.
Par contre il faut modifier la 1ère ligne dans l'évènement Combobox1.Change
:
ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value,
LookIn:=xlValues).Activate
Cordialement
Pascal
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
8291b96f-cb5e-44a8-8601-590969d1baff@w7g2000hsa.googlegroups.com...
Ouch !
Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont
issus d'une formule
þuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule
mais à la valeurs renvoyée.
Pas d'incidence pour la construction de la liste, je viens de vérifier. Par contre il faut modifier la 1ère ligne dans l'évènement Combobox1.Change : ThisWorkbook.ActiveSheet.Range("A1:A65536").Find(ComboBox1.Value, LookIn:=xlValues).Activate
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Ouch ! Une petite précision supplémentaire ultra-importante
Les noms des ouvrier ne sont pas notés dans mes onglets, mais sont issus d'une formule þuil1!A1.......
il faut donc que la macro ne s'attache pas au contenu de la cellule mais à la valeurs renvoyée.
Est-ce encore possible
papou
Pour vérifier, voici l'exemple : http://cjoint.com/data/gxqxFutlbJ.htm
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier le fichier est organisé ainsi 1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes A1 - a10 - a20 - a30 - a40 - a50 (les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante. Un onglet est actif (disons Février) Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et la sélection se trouve sur l'ouvrier sélectionné. Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans toutefois dépasser 20.
Comment cela serait il possible ?
Merci
Pour vérifier, voici l'exemple :
http://cjoint.com/data/gxqxFutlbJ.htm
Cordialement
Pascal
"Fredo(67)" <frederic.seys@socara.net> a écrit dans le message de news:
5a7c0a48-073a-49a1-90e5-1886f32ecfba@c58g2000hsc.googlegroups.com...
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier
le fichier est organisé ainsi
1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes
A1 - a10 - a20 - a30 - a40 - a50
(les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante.
Un onglet est actif (disons Février)
Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par
ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et
la sélection se trouve sur l'ouvrier sélectionné.
Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans
toutefois dépasser 20.
Pour vérifier, voici l'exemple : http://cjoint.com/data/gxqxFutlbJ.htm
Cordialement Pascal
"Fredo(67)" a écrit dans le message de news:
Bonjour,
j'ai un fichier Excel qui représente un suivi d'ouvrier le fichier est organisé ainsi 1 onglet par mois, + 1 onglet de totalisation/recapitulation
Sur chaque onglet, le nom de l'ouvrier est situé toutes les 10 lignes A1 - a10 - a20 - a30 - a40 - a50 (les 9 lignes intermédiaires sont les zones de saisies)
ce que je voudrais faire est la chose suivante. Un onglet est actif (disons Février) Au lancement d'une macro, un Userform s'ouvre avec 1 bouton par ouvrier, au clic sur le bouton d'un ouvrier, l'userform se ferme, et la sélection se trouve sur l'ouvrier sélectionné. Sachant que le nombre d'ouvrier peut changer sur chaque onglet sans toutefois dépasser 20.
Comment cela serait il possible ?
Merci
Fredo(67)
Bon, tu vas rire, mais le temps de dire que cela ne marchait pas, que cela s'est résolu (tout seul ??)
donc en fait ca marche j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur de la cellule. Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire apparaitre la liste. Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec les premières valeurs, sans avoir à cliquer sur la flêche.
Merci
Bon, tu vas rire,
mais le temps de dire que cela ne marchait pas, que cela s'est résolu
(tout seul ??)
donc en fait ca marche
j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur
de la cellule.
Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire
apparaitre la liste.
Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec
les premières valeurs, sans avoir à cliquer sur la flêche.
Bon, tu vas rire, mais le temps de dire que cela ne marchait pas, que cela s'est résolu (tout seul ??)
donc en fait ca marche j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur de la cellule. Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire apparaitre la liste. Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec les premières valeurs, sans avoir à cliquer sur la flêche.
Merci
dunkelzahn
Bonjour,
Oui en faisant
Combobox.ListIndex = 0
0 étant la première valeur de la liste.
On 23 juin, 16:29, "Fredo(67)" wrote:
Bon, tu vas rire, mais le temps de dire que cela ne marchait pas, que cela s'est résolu (tout seul ??)
donc en fait ca marche j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur de la cellule. Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire apparaitre la liste. Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec les premières valeurs, sans avoir à cliquer sur la flêche.
Merci
Bonjour,
Oui en faisant
Combobox.ListIndex = 0
0 étant la première valeur de la liste.
On 23 juin, 16:29, "Fredo(67)" <frederic.s...@socara.net> wrote:
Bon, tu vas rire,
mais le temps de dire que cela ne marchait pas, que cela s'est résolu
(tout seul ??)
donc en fait ca marche
j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur
de la cellule.
Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire
apparaitre la liste.
Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec
les premières valeurs, sans avoir à cliquer sur la flêche.
Bon, tu vas rire, mais le temps de dire que cela ne marchait pas, que cela s'est résolu (tout seul ??)
donc en fait ca marche j'ai adapté la ligne comme indiquée, pour prendre en compte la valeur de la cellule. Dernière précision
le ComboBox apparait vide, et il faut cliquer sur la flèche pour faire apparaitre la liste. Y'aurait il moyen de faire que la zone blanche soit pré-remplie avec les premières valeurs, sans avoir à cliquer sur la flêche.