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

créer automatiquement checkbox + sélection plage

2 réponses
Avatar
Congelator
Salut à toutes et à tous,
J'ai besoin de vos esprits géniaux pour résoudre mon problème...
Je dois créer une macro (ou directement du VBA) dans un document Excel XP
pour un utilisateur mais il me pose une colle... alors je vous la soumet :

J'ai des données déjà inscrites de A5 à H17.
J6:J17 et L6:L17 contiennent les données que j'utiliserai plus bas comme
liste de valeurs.
Il faudrait que je puisse :
1- créer ces listes de valeurs sur une feuille cachée (feuil2) du même
classeur, ça c'est fait... mais je n'arrive pas à les utiliser sur la feuil1,
uniquement sur feuil2
2- créer une macro qui, depuis la cellule active (p.ex A50)
2.1 - sélectionne A5:H17 et fasse un copier-coller depuis cette cellule
(A50:H67) ainsi que des listes en J et L (50:67) provenant de feuil2
2.2 - me crée automatiquement 10 checkbox "OK" en I (en I50:I67)
2.3 - idem avec 3 checkbox "OK" en K (en K50:K53)
2.4 - idem avec 1 checkbox "OK" en M (en M50)

Voilà, c'est juste ça... Yaka...! Je plaisante... :-) Si c'était si simple,
ma macro fonctionnerait déjà...!! Si quelqu'un a une solution, je suis
preneur. Pour info, je vais aussi mettre cette question sous VB dans ce forum.

Merci d'avance à toutes celles et ceux qui voudront bien se pencher sur mon
cas.

--
Céd / Lausanne

2 réponses

Avatar
anomymousA
bonjour,

1- 'Comment faire référence à une liste dans une autre feuille par Données
Validation

'Ecrire la liste sur la feuille 2 p.e (mettons toto, titi, tata que les
cellules
'de A1 à A3. Donner un nom à cette liste , mettons listenoms.
'Aller sur la feuille 1, prendre 1 cellule et faire
Données/validation/Autoriser/Liste
'Dans Source, écrire =listenoms.

2- Pour activer quelque chose automatiquement depuis l'environnement de
feuille, il faut un evenement. Quand cet evenement ne doit pas survenir suite
à calcou ou à changement et que on ne veut pas perturber la gestion du click
droit, je conseille l'evenement worksheet_BeforeDoubleClick() dans lequel tu
placeras un code qui doit faire quelque chose

p.e

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)

'si tu as besoin de l'adresse de la cellule où tu as double cliqu, utilises
target qui en est l'expression.
'Ici tu mets ton code.
Cancel=true ' pour eviter de se retrouver dans la saisie de la cellule à la
fin.
end sub

un exemple de code de création d'un objet OLE sur une feuille. Ici c'est un
combobox. Rien n'empêche d'écrire Checkbox à la place
on désigne c comme étant un cellule mettons c=range("A1").

With c
Set objOLE = WS.OLEObjects.Add(ClassType:="Forms.TextBox.1", _
Left:=.Left, Top:=.Top, Width:=4, Height:=4)
End With
With objOLE
.Name = "HZFILTERA51"
.Placement = 1
.SendToBack
.Visible = False
End With

Il faut adapter mais c'est ca le plaisir de la programmation.

Si c'est pas suffisant pour démarrer et que tu veux que j'écrive carrement
le code, reviens demander.

A+


Salut à toutes et à tous,
J'ai besoin de vos esprits géniaux pour résoudre mon problème...
Je dois créer une macro (ou directement du VBA) dans un document Excel XP
pour un utilisateur mais il me pose une colle... alors je vous la soumet :

J'ai des données déjà inscrites de A5 à H17.
J6:J17 et L6:L17 contiennent les données que j'utiliserai plus bas comme
liste de valeurs.
Il faudrait que je puisse :
1- créer ces listes de valeurs sur une feuille cachée (feuil2) du même
classeur, ça c'est fait... mais je n'arrive pas à les utiliser sur la feuil1,
uniquement sur feuil2
2- créer une macro qui, depuis la cellule active (p.ex A50)
2.1 - sélectionne A5:H17 et fasse un copier-coller depuis cette cellule
(A50:H67) ainsi que des listes en J et L (50:67) provenant de feuil2
2.2 - me crée automatiquement 10 checkbox "OK" en I (en I50:I67)
2.3 - idem avec 3 checkbox "OK" en K (en K50:K53)
2.4 - idem avec 1 checkbox "OK" en M (en M50)

Voilà, c'est juste ça... Yaka...! Je plaisante... :-) Si c'était si simple,
ma macro fonctionnerait déjà...!! Si quelqu'un a une solution, je suis
preneur. Pour info, je vais aussi mettre cette question sous VB dans ce forum.

Merci d'avance à toutes celles et ceux qui voudront bien se pencher sur mon
cas.

--
Céd / Lausanne


Avatar
Congelator
Salut anomymousA,

Un grand merci pour ta résponse si rapide. Vu toute la peine que tu t'es
déjà donné pour m'expliquer, je n'aurai pas oser te demander de me créer
cette macro mais puisque tu me le proposes, c'est volontiers que j'accepte.
Pour info, je vais insérer cette macro dans le fichier et je mettrai une
icone dans la barre outils.

Encore merci

Céd

"anomymousA" wrote:

bonjour,

1- 'Comment faire référence à une liste dans une autre feuille par Données
Validation

'Ecrire la liste sur la feuille 2 p.e (mettons toto, titi, tata que les
cellules
'de A1 à A3. Donner un nom à cette liste , mettons listenoms.
'Aller sur la feuille 1, prendre 1 cellule et faire
Données/validation/Autoriser/Liste
'Dans Source, écrire =listenoms.

2- Pour activer quelque chose automatiquement depuis l'environnement de
feuille, il faut un evenement. Quand cet evenement ne doit pas survenir suite
à calcou ou à changement et que on ne veut pas perturber la gestion du click
droit, je conseille l'evenement worksheet_BeforeDoubleClick() dans lequel tu
placeras un code qui doit faire quelque chose

p.e

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)

'si tu as besoin de l'adresse de la cellule où tu as double cliqu, utilises
target qui en est l'expression.
'Ici tu mets ton code.
Cancel=true ' pour eviter de se retrouver dans la saisie de la cellule à la
fin.
end sub

un exemple de code de création d'un objet OLE sur une feuille. Ici c'est un
combobox. Rien n'empêche d'écrire Checkbox à la place
on désigne c comme étant un cellule mettons c=range("A1").

With c
Set objOLE = WS.OLEObjects.Add(ClassType:="Forms.TextBox.1", _
Left:=.Left, Top:=.Top, Width:=4, Height:=4)
End With
With objOLE
.Name = "HZFILTERA51"
.Placement = 1
.SendToBack
.Visible = False
End With

Il faut adapter mais c'est ca le plaisir de la programmation.

Si c'est pas suffisant pour démarrer et que tu veux que j'écrive carrement
le code, reviens demander.

A+


Salut à toutes et à tous,
J'ai besoin de vos esprits géniaux pour résoudre mon problème...
Je dois créer une macro (ou directement du VBA) dans un document Excel XP
pour un utilisateur mais il me pose une colle... alors je vous la soumet :

J'ai des données déjà inscrites de A5 à H17.
J6:J17 et L6:L17 contiennent les données que j'utiliserai plus bas comme
liste de valeurs.
Il faudrait que je puisse :
1- créer ces listes de valeurs sur une feuille cachée (feuil2) du même
classeur, ça c'est fait... mais je n'arrive pas à les utiliser sur la feuil1,
uniquement sur feuil2
2- créer une macro qui, depuis la cellule active (p.ex A50)
2.1 - sélectionne A5:H17 et fasse un copier-coller depuis cette cellule
(A50:H67) ainsi que des listes en J et L (50:67) provenant de feuil2
2.2 - me crée automatiquement 10 checkbox "OK" en I (en I50:I67)
2.3 - idem avec 3 checkbox "OK" en K (en K50:K53)
2.4 - idem avec 1 checkbox "OK" en M (en M50)

Voilà, c'est juste ça... Yaka...! Je plaisante... :-) Si c'était si simple,
ma macro fonctionnerait déjà...!! Si quelqu'un a une solution, je suis
preneur. Pour info, je vais aussi mettre cette question sous VB dans ce forum.

Merci d'avance à toutes celles et ceux qui voudront bien se pencher sur mon
cas.

--
Céd / Lausanne