Bonjour, je souhaite utiliser des checkboxes pour matérialiser le statut de
certains paramètres dans un tableau. Celui-ci contient une ligne par tâche,
et c'est le statut de ces tâches que je gère avec une checkbox.
Ce que je veux faire: pourvoir lier la checkbox à une cellule, non pas pour
que le mot FALSE/TRUE apparaisse dans la cellule, mais pour pouvoir
copier/coller la cellule AVEC la checkbox. Par la même occasion, si le
contrôle voulait bien se dimensionner automatiquement avec la taille de la
cellule, cela serait bien pratique...
Evidemment se pose le problème du nom de la checkbox (Checkbox1 à N): comme
je ne saurai jamais combien l'utilisateur a créé de lignes, je ne pourrai
connaitre l'état de la checkbox qu'en testant la valeur de la cellule
associée.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Youky
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Salut,
1 seul checkbox que l'on positionne sur la ligne de la selection
Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple
on écrit en col K "aaaa"
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("K" & ActiveCell.Row) = "aaaa"
CheckBox1.Value = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckBox1.Top = Target.Top
End Sub
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Jean-Luc GARNIER
Merci Youki !
Ce que je cherche à faire, c'est considérer que la checkbox est contenue par la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de la cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant pour en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne complète dans un onglet "template" qui contient le modèle de la ligne. Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes, donc je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
-- Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Merci Youki !
Ce que je cherche à faire, c'est considérer que la checkbox est contenue par
la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de la
cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant pour
en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut
ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne
complète dans un onglet "template" qui contient le modèle de la ligne.
Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes, donc
je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
--
Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut,
1 seul checkbox que l'on positionne sur la ligne de la selection
Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple
on écrit en col K "aaaa"
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("K" & ActiveCell.Row) = "aaaa"
CheckBox1.Value = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckBox1.Top = Target.Top
End Sub
Ce que je cherche à faire, c'est considérer que la checkbox est contenue par la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de la cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant pour en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne complète dans un onglet "template" qui contient le modèle de la ligne. Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes, donc je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
-- Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Youky
Bonsoir Jean-Luc, J'ai compris ce que tu souhaites, mon avis, c'est pas la bonne manière de faire mais j'ai fais selon ta demande... Ci dessous le code mis sous un bouton dans la Feuille ou la ligne doit être copiée (template) Les données seront copiées en Feuil1... c'est pas le nom de l'onglet mais le CodeName qui est plus sur en cas de renommage. A changer en fonction Chose TRES IMPORTANTE, il faut que les CheckBox en "template" aient une postion .Top comme la ligne qu'ils occuppent Donc avant de lancer la macro verifie ce qui suit pour toutes les lignes ont sont des CheckBox en template ou Modele Dans l'éditeur VBA ouvrir la fenetre Execution Tape ?Sheets("template").[A2].top et ENTER il va te donner la position du .top de A2 Tu devras mettre le même chiffre récolté à tous les checkbox.top(en propriété) de la ligne 2 et ensuite idem pour [A3] et suivant... Ceci est vital car j'utilise le .top de la cellule selectionnée pour copier que les checkbox qui ont le même .top Ceci à faire une seule fois (penser à enregistrer) Il va sans dire que chaque fois que l'on rajoute des modeles il est IMPERATIF que les Checkbox soient placés avec un Top idem à la ligne.top ou cellule .Top Je reste dispo Youky
Private Sub CommandButton1_Click() Application.ScreenUpdating = False h = Selection.Top lig = Selection.Row For Each c In ActiveSheet.Shapes If c.Top = h Then x = c.Left c.Copy Feuil1.Select n = Feuil1.[A65000].End(3).Row + 1 Feuil1.Range("D" & n).Select ActiveSheet.Paste Selection.Left = x End If Next Feuil1.Range("A" & n & ":AA" & n).Value = Feuil2.Range("A" & lig & ":AA" & lig).Value Feuil1.Range("A" & n).Select Application.ScreenUpdating = True End Sub
"Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
Merci Youki !
Ce que je cherche à faire, c'est considérer que la checkbox est contenue par la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de la cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant pour en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne complète dans un onglet "template" qui contient le modèle de la ligne. Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes, donc je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
-- Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Bonsoir Jean-Luc,
J'ai compris ce que tu souhaites, mon avis, c'est pas la bonne manière de
faire mais j'ai fais selon ta demande...
Ci dessous le code mis sous un bouton dans la Feuille ou la ligne doit être
copiée (template)
Les données seront copiées en Feuil1... c'est pas le nom de l'onglet mais le
CodeName qui est plus sur en cas de renommage.
A changer en fonction
Chose TRES IMPORTANTE, il faut que les CheckBox en "template" aient une
postion .Top comme la ligne qu'ils occuppent
Donc avant de lancer la macro verifie ce qui suit pour toutes les lignes ont
sont des CheckBox en template ou Modele
Dans l'éditeur VBA ouvrir la fenetre Execution
Tape ?Sheets("template").[A2].top et ENTER il va te donner la
position du .top de A2
Tu devras mettre le même chiffre récolté à tous les checkbox.top(en
propriété) de la ligne 2 et ensuite idem pour [A3] et suivant...
Ceci est vital car j'utilise le .top de la cellule selectionnée pour copier
que les checkbox qui ont le même .top
Ceci à faire une seule fois (penser à enregistrer)
Il va sans dire que chaque fois que l'on rajoute des modeles il est
IMPERATIF que les Checkbox soient placés avec un Top
idem à la ligne.top ou cellule .Top
Je reste dispo
Youky
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
h = Selection.Top
lig = Selection.Row
For Each c In ActiveSheet.Shapes
If c.Top = h Then
x = c.Left
c.Copy
Feuil1.Select
n = Feuil1.[A65000].End(3).Row + 1
Feuil1.Range("D" & n).Select
ActiveSheet.Paste
Selection.Left = x
End If
Next
Feuil1.Range("A" & n & ":AA" & n).Value = Feuil2.Range("A" & lig & ":AA" &
lig).Value
Feuil1.Range("A" & n).Select
Application.ScreenUpdating = True
End Sub
"Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message
de news: 54420725-FA65-4A78-B151-3C742F4EC052@microsoft.com...
Merci Youki !
Ce que je cherche à faire, c'est considérer que la checkbox est contenue
par
la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de
la
cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant
pour
en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut
ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne
complète dans un onglet "template" qui contient le modèle de la ligne.
Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes,
donc
je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
--
Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut,
1 seul checkbox que l'on positionne sur la ligne de la selection
Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple
on écrit en col K "aaaa"
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("K" & ActiveCell.Row) = "aaaa"
CheckBox1.Value = False
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CheckBox1.Top = Target.Top
End Sub
Bonsoir Jean-Luc, J'ai compris ce que tu souhaites, mon avis, c'est pas la bonne manière de faire mais j'ai fais selon ta demande... Ci dessous le code mis sous un bouton dans la Feuille ou la ligne doit être copiée (template) Les données seront copiées en Feuil1... c'est pas le nom de l'onglet mais le CodeName qui est plus sur en cas de renommage. A changer en fonction Chose TRES IMPORTANTE, il faut que les CheckBox en "template" aient une postion .Top comme la ligne qu'ils occuppent Donc avant de lancer la macro verifie ce qui suit pour toutes les lignes ont sont des CheckBox en template ou Modele Dans l'éditeur VBA ouvrir la fenetre Execution Tape ?Sheets("template").[A2].top et ENTER il va te donner la position du .top de A2 Tu devras mettre le même chiffre récolté à tous les checkbox.top(en propriété) de la ligne 2 et ensuite idem pour [A3] et suivant... Ceci est vital car j'utilise le .top de la cellule selectionnée pour copier que les checkbox qui ont le même .top Ceci à faire une seule fois (penser à enregistrer) Il va sans dire que chaque fois que l'on rajoute des modeles il est IMPERATIF que les Checkbox soient placés avec un Top idem à la ligne.top ou cellule .Top Je reste dispo Youky
Private Sub CommandButton1_Click() Application.ScreenUpdating = False h = Selection.Top lig = Selection.Row For Each c In ActiveSheet.Shapes If c.Top = h Then x = c.Left c.Copy Feuil1.Select n = Feuil1.[A65000].End(3).Row + 1 Feuil1.Range("D" & n).Select ActiveSheet.Paste Selection.Left = x End If Next Feuil1.Range("A" & n & ":AA" & n).Value = Feuil2.Range("A" & lig & ":AA" & lig).Value Feuil1.Range("A" & n).Select Application.ScreenUpdating = True End Sub
"Jean-Luc GARNIER" <jean-luc.garnier(at)gemalto.com> a écrit dans le message de news:
Merci Youki !
Ce que je cherche à faire, c'est considérer que la checkbox est contenue par la cellule, comme un simple texte. Ainsi, lorsqu'on fait copier-coller de la cellule dans une autre, la checkbox est dupliquée, Excel se débrouillant pour en changer le nom à la volée...
Le but: j'ai un tableau assez complexe dans lequel l'utilisateur peut ajouter des lignes (gestion de projets). Pour ceci, il copie une ligne complète dans un onglet "template" qui contient le modèle de la ligne. Evidemment, cette ligne-modèle va contenir une ou plusieurs checkboxes, donc je veux que les checkboxes doient copiées avec le reste de la ligne...
Merci d'avance pour toute aide,
-- Jean-Luc, Auriol, FRANCE
"Youky" wrote:
Salut, 1 seul checkbox que l'on positionne sur la ligne de la selection Sur le click on peut lui faire faire ce que l'on veux, dans cet exemple on écrit en col K "aaaa"
Private Sub CheckBox1_Click() If CheckBox1.Value = True Then Range("K" & ActiveCell.Row) = "aaaa" CheckBox1.Value = False End If End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CheckBox1.Top = Target.Top End Sub
J'ai pas compris ton copié-coller Youky
Youky
Voici le fichier que j'ai créé pour faire la macro http://cjoint.com/?ctvDBpovB5 Mets le curseur sur la ligne que tu veux copier et click sur le bouton Quel que soit le nombre de checkbox sur la ligne ceux-ci seront copiés ainsi que la ligne modele de A à CC Il est évident qu'un simple copié-collé par le menu ne fait pas affaire et tu dois en passer par la macro. J'attends le moment ou tu va me dire si j'efface une ligne comment effacer aussi les checkbox Eh ben ...... if faut utiliser le .top de la ligne et supprimer tous les checkbox qui auront le mm .top Youky
Voici le fichier que j'ai créé pour faire la macro
http://cjoint.com/?ctvDBpovB5
Mets le curseur sur la ligne que tu veux copier et click sur le bouton
Quel que soit le nombre de checkbox sur la ligne ceux-ci seront copiés ainsi
que la ligne modele de A à CC
Il est évident qu'un simple copié-collé par le menu ne fait pas affaire et
tu dois en passer par la macro.
J'attends le moment ou tu va me dire si j'efface une ligne comment effacer
aussi les checkbox
Eh ben
......
if faut utiliser le .top de la ligne et supprimer tous les checkbox qui
auront le mm .top
Youky
Voici le fichier que j'ai créé pour faire la macro http://cjoint.com/?ctvDBpovB5 Mets le curseur sur la ligne que tu veux copier et click sur le bouton Quel que soit le nombre de checkbox sur la ligne ceux-ci seront copiés ainsi que la ligne modele de A à CC Il est évident qu'un simple copié-collé par le menu ne fait pas affaire et tu dois en passer par la macro. J'attends le moment ou tu va me dire si j'efface une ligne comment effacer aussi les checkbox Eh ben ...... if faut utiliser le .top de la ligne et supprimer tous les checkbox qui auront le mm .top Youky