Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3
comme cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire
sans copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
--
Bernard Cordier
http://bernard.cordier.pagesperso-orange.fr/
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
Charabeuh
Bonjour,
Ce code (Excel2010) place une case à cocher dans B3:B20 et y lie les cellules C3:C20. Peut-être pouvez-vous vous en inspirer ?
Sub Boxes() Dim I, cbLeft, cbTop, cbHeight, cbWidth cbHeight = 18: cbWidth = 48
With ActiveSheet For I = 3 To 20 .Cells(I, 2).Select cbTop = ActiveCell.Top + ActiveCell.Height / 2 - cbHeight / 2 cbLeft = ActiveCell.Left + ActiveCell.Width / 2 - cbWidth / 2 ActiveSheet.CheckBoxes.Add(cbLeft, cbTop, _ cbWidth, cbHeight).Select With Selection .Value = xlOn .LinkedCell = ActiveCell.Offset(0, 1).Address .Text = "Option " & (I - 2) End With Next I End With
End Sub
Bernard Cordier a couché sur son écran :
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
Bonjour,
Ce code (Excel2010) place une case à cocher dans B3:B20 et y lie les
cellules C3:C20. Peut-être pouvez-vous vous en inspirer ?
Sub Boxes()
Dim I, cbLeft, cbTop, cbHeight, cbWidth
cbHeight = 18: cbWidth = 48
With ActiveSheet
For I = 3 To 20
.Cells(I, 2).Select
cbTop = ActiveCell.Top + ActiveCell.Height / 2 - cbHeight / 2
cbLeft = ActiveCell.Left + ActiveCell.Width / 2 - cbWidth / 2
ActiveSheet.CheckBoxes.Add(cbLeft, cbTop, _
cbWidth, cbHeight).Select
With Selection
.Value = xlOn
.LinkedCell = ActiveCell.Offset(0, 1).Address
.Text = "Option " & (I - 2)
End With
Next I
End With
End Sub
Bernard Cordier a couché sur son écran :
Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme
cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans
copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
Ce code (Excel2010) place une case à cocher dans B3:B20 et y lie les cellules C3:C20. Peut-être pouvez-vous vous en inspirer ?
Sub Boxes() Dim I, cbLeft, cbTop, cbHeight, cbWidth cbHeight = 18: cbWidth = 48
With ActiveSheet For I = 3 To 20 .Cells(I, 2).Select cbTop = ActiveCell.Top + ActiveCell.Height / 2 - cbHeight / 2 cbLeft = ActiveCell.Left + ActiveCell.Width / 2 - cbWidth / 2 ActiveSheet.CheckBoxes.Add(cbLeft, cbTop, _ cbWidth, cbHeight).Select With Selection .Value = xlOn .LinkedCell = ActiveCell.Offset(0, 1).Address .Text = "Option " & (I - 2) End With Next I End With
End Sub
Bernard Cordier a couché sur son écran :
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
isabelle
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox()
Dim cb As Shape, t As Integer
With Worksheets(1)
For i = 1 To 100
t = Range("B" & i).Top
'AddFormControl(Type, Left, Top, Width,
Height)
Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5)
With cb
.OLEFormat.Object.Characters.Text = "CB" & i
.ControlFormat.LinkedCell = Range("C" & i).Address
End With
Next
End With
End Sub
Sub Supprimer_CheckBox()
For Each sh In ActiveSheet.Shapes
sh.Delete
Next
End Sub
Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec
$C$3 comme cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à
dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
isabelle
une petite précision pour ne supprimer que les CheckBox dont le nom est CB*
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes With sh If Left(.OLEFormat.Object.Characters.Text, 2) = "CB" Then sh.Delete End With Next End Sub
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
une petite précision pour ne supprimer que les CheckBox dont le nom est CB*
Sub Supprimer_CheckBox()
For Each sh In ActiveSheet.Shapes
With sh
If Left(.OLEFormat.Object.Characters.Text, 2) = "CB" Then sh.Delete
End With
Next
End Sub
Sub Creer_CheckBox()
Dim cb As Shape, t As Integer
With Worksheets(1)
For i = 1 To 100
t = Range("B" & i).Top
'AddFormControl(Type, Left, Top, Width,
Height)
Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5)
With cb
.OLEFormat.Object.Characters.Text = "CB" & i
.ControlFormat.LinkedCell = Range("C" & i).Address
End With
Next
End With
End Sub
Sub Supprimer_CheckBox()
For Each sh In ActiveSheet.Shapes
sh.Delete
Next
End Sub
Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec
$C$3 comme cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à
dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
une petite précision pour ne supprimer que les CheckBox dont le nom est CB*
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes With sh If Left(.OLEFormat.Object.Characters.Text, 2) = "CB" Then sh.Delete End With Next End Sub
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
Bernard Cordier
C'est parfait. Grand merci. Ne pratiquant pas le VBA, je voudrais quelques précisions. Que faut-il modifier : pour mettre les cases dans une autre colonne que A ? pour que leur nom n'apparaissent pas ? Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
-- Bernard Cordier http://bernard.cordier.pagesperso-orange.fr/
C'est parfait. Grand merci.
Ne pratiquant pas le VBA, je voudrais quelques précisions.
Que faut-il modifier :
pour mettre les cases dans une autre colonne que A ?
pour que leur nom n'apparaissent pas ?
Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox()
Dim cb As Shape, t As Integer
With Worksheets(1)
For i = 1 To 100
t = Range("B" & i).Top
'AddFormControl(Type, Left, Top, Width,
Height)
Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5)
With cb
.OLEFormat.Object.Characters.Text = "CB" & i
.ControlFormat.LinkedCell = Range("C" & i).Address
End With
Next
End With
End Sub
Sub Supprimer_CheckBox()
For Each sh In ActiveSheet.Shapes
sh.Delete
Next
End Sub
Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3
comme cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire
sans copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
--
Bernard Cordier
http://bernard.cordier.pagesperso-orange.fr/
C'est parfait. Grand merci. Ne pratiquant pas le VBA, je voudrais quelques précisions. Que faut-il modifier : pour mettre les cases dans une autre colonne que A ? pour que leur nom n'apparaissent pas ? Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
-- Bernard Cordier http://bernard.cordier.pagesperso-orange.fr/
isabelle
bonjour Bernard,
voilà,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With ActiveSheet For i = 1 To 100 'Choix des lignes t = Range("B" & i).Top ' choix de la colonne 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "" 'texte de la case .ControlFormat.LinkedCell = Range("C" & i).Address ' colonne lier End With Next End With End Sub
C'est parfait. Grand merci. Ne pratiquant pas le VBA, je voudrais quelques précisions. Que faut-il modifier : pour mettre les cases dans une autre colonne que A ? pour que leur nom n'apparaissent pas ? Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.
bonjour Bernard,
voilà,
Sub Creer_CheckBox()
Dim cb As Shape, t As Integer
With ActiveSheet
For i = 1 To 100 'Choix des lignes
t = Range("B" & i).Top ' choix de la colonne
'AddFormControl(Type, Left, Top, Width, Height)
Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5)
With cb
.OLEFormat.Object.Characters.Text = "" 'texte de la case
.ControlFormat.LinkedCell = Range("C" & i).Address ' colonne lier
End With
Next
End With
End Sub
C'est parfait. Grand merci.
Ne pratiquant pas le VBA, je voudrais quelques précisions.
Que faut-il modifier :
pour mettre les cases dans une autre colonne que A ?
pour que leur nom n'apparaissent pas ?
Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox()
Dim cb As Shape, t As Integer
With Worksheets(1)
For i = 1 To 100
t = Range("B" & i).Top
'AddFormControl(Type, Left, Top,
Width, Height)
Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5)
With cb
.OLEFormat.Object.Characters.Text = "CB" & i
.ControlFormat.LinkedCell = Range("C" & i).Address
End With
Next
End With
End Sub
Sub Supprimer_CheckBox()
For Each sh In ActiveSheet.Shapes
sh.Delete
Next
End Sub
Bonjour,
Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec
$C$3 comme cellule liée vrai/faux.
Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à
dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes.
Merci de m'aider.
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With ActiveSheet For i = 1 To 100 'Choix des lignes t = Range("B" & i).Top ' choix de la colonne 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "" 'texte de la case .ControlFormat.LinkedCell = Range("C" & i).Address ' colonne lier End With Next End With End Sub
C'est parfait. Grand merci. Ne pratiquant pas le VBA, je voudrais quelques précisions. Que faut-il modifier : pour mettre les cases dans une autre colonne que A ? pour que leur nom n'apparaissent pas ? Pour le reste, je devrais être autonome. Merci.
Bernard
isabelle a écrit :
bonjour Bernard,
une possibilité est de tous les créer par macro,
Sub Creer_CheckBox() Dim cb As Shape, t As Integer With Worksheets(1) For i = 1 To 100 t = Range("B" & i).Top 'AddFormControl(Type, Left, Top, Width, Height) Set cb = .Shapes.AddFormControl(xlCheckBox, 3, t, 50, 5) With cb .OLEFormat.Object.Characters.Text = "CB" & i .ControlFormat.LinkedCell = Range("C" & i).Address End With Next End With End Sub
Sub Supprimer_CheckBox() For Each sh In ActiveSheet.Shapes sh.Delete Next End Sub
Bonjour, Dans une feuille, j'ai inséré un contrôle Case à cocher en B3 avec $C$3 comme cellule liée vrai/faux. Y a-t-il moyen de le recopier vers le bas de façon rapide, c'est à dire sans copier/coller ? Il s'agit en effet d'une centaine de lignes. Merci de m'aider.