case à cocher bouton et macro

r0man0

XLDnaute Nouveau
Bonjour,
j'aimerai pouvoir lancer une macro à partir d'un bouton en fonction de cases cochées, je m'explique j'ai plusieurs types d'info à traiter, sur différentes feuilles, j'ai pour chaque info à traiter une macro spécifique que j'ai créé mais qui me donne au final après exécution un type unique de rangement de mes infos dans une autre feuille, donc j'ai fait pour chaque types d'info une cellule avec un intitulé propre et une case à cocher, et juste un bouton "transformation" qui m'évite d'avoir autant de bouton que de types d'info, vous me suivez?
Ai-je été assez clair,
merci.
Cordialement.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : case à cocher bouton et macro

Bonjour R0man0 et bienvenu, bonjour le forum,

Puisque tu es nouveau parmi nous, je te recommande de lire la
Lien supprimé du forum qui donne tous les bons plans pour obtenir de l'aide rapidement. Dans ton cas, malgré tes explications claires, il manque un fichier exemple pour qu'on puisse t'aider...
 

r0man0

XLDnaute Nouveau
Re : case à cocher bouton et macro

Ok, je vous post un print écran, avec explication. Couper.jpg
alors comme tu peux le constater, il y a sur la gauche 6 items track tous différent, en haut j'ai 2 boutons commandant mes macros principales, 6 correspondant à mes 6 items pour le premier bouton et 6 correspondant également à mes 6 items pour le second. Et en bas à droite j'ai un autre bouton important "transformation" qui comme les précédent aura 6 macros. Concernant mes 6 items, je leur ai désigné 6 case, j'aimerai que par exemple le "track 5" étant coché, lance la macro qui lui est attribué quand je vais cliquer sur "1/transfert" et "2/generation". Ainsi de suite pour les autres items. Voilà est ce suffisamment claire.
Par contre je me suis aperçu que mes boutons bougent en fonction du traitement de ma macro sur ma feuille, y aurait il un moyen de les fixer sur ma feuille, pour que se soit jolie?
Cordialement.
 

Pièces jointes

  • Couper.jpg
    Couper.jpg
    42.9 KB · Affichages: 119
  • Couper.jpg
    Couper.jpg
    42.9 KB · Affichages: 117

Pierrot93

XLDnaute Barbatruc
Re : case à cocher bouton et macro

Bonjour Roman, Robert:)

Par contre je me suis aperçu que mes boutons bougent en fonction du traitement de ma macro sur ma feuille, y aurait il un moyen de les fixer sur ma feuille, pour que se soit jolie?

click droit sur l'objet => format de contrôle => onglet "propriétés", coches "déplacer et dimensioner avec les cellules".... enfin si j'ai bien compris ton problème....

Pour le reste, pas facile de travailler avec une image...

bonne journée
@+
 

r0man0

XLDnaute Nouveau
Re : case à cocher bouton et macro

Bonjour,
tout d'abord merci Pierrot93 pour ton conseil c'est exactement ce que je voulais, bon pour le reste j'ai un exemple de macro que j'utilise, j'aimerai l'associer à mon premier item " track 1 " quand je coche la case, et la lancer quand je clique sur " transformation " et ainsi de suite pour les autres macro...
Voilà cette fameuse macro, elle est un peu brut de décoffrage, et demande à être allégé.

Sub TRANSFO()

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Workbooks.Open Filename:="D:\SING.xls"
Range("A:A,T:T,U:U,V:V,W:W").Replace What:=" - ", Replacement:="@", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Range("C:C,E:E,F:F,H:H,I:I,J:J,K:K,L:L,O:O,P:p,Q:Q,R:R,S:S,X:X,Y:Y,AA:AA,AB:AB,AC:AC,AD:AD,AE:AE,AG:AG,AH:AH").Delete Shift:=xlToLeft
Columns("L:L").Copy
Columns("Z:Z").Select
ActiveSheet.Paste
Columns("A:A").TextToColumns Destination:=Range("L1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="@", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Columns("G:G").TextToColumns Destination:=Range("M1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="@", FieldInfo:=Array(Array(1, 2), Array(2, 1)), TrailingMinusNumbers:=True
Columns("H:H").TextToColumns Destination:=Range("N1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="@", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Columns("I:I").TextToColumns Destination:=Range("P1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="@", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Columns("J:J").TextToColumns Destination:=Range("R1"), DataType:=xlDelimited, _
TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="@", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("A:A,G:G,H:H,I:I,J:J,N:N,P:p,R:R").Delete Shift:=xlToLeft
Range("L2").FormulaR1C1 = "=CONCATENATE(C[-4],"" "",C[-2],"" "",C[-3],"" "",C[-6],"" "",C[-1],"" "",C[-5],"" "",C[-9],"" "",C[-11])"
Range("L2").AutoFill Destination:=Range("L2:L65000")
Columns("C:C").Cut
Columns("M:M").Insert Shift:=xlToRight
Range("B:B,C:C,D:D,K:K,L:L,R:R").Copy
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Paste
Columns("D:D").Select
'Cells.Replace What:=" /", Replacement:="", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'Cells.Replace What:="(", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
'Cells.Replace What:=")", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.AutoFilter
ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort.SortFields.Add Key:=Range("A1:A65000"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A2").Copy
Windows("OUTILS WORK IN PROGRESS.xls").Activate
Range("M36").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Windows("SING.xls").Activate
Columns("B:E").Copy
Windows("OUTILS WORK IN PROGRESS.xls").Activate
Columns("A:D").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows("SING.xls").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Copy
ChDir "D:\03"
ActiveWorkbook.SaveAs Filename:= _
"D:\03\SING_Save.xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Windows("SING.xls").Close
Windows("SING_Save.xls").Close
Columns("A:D").AutoFilter
ChDir "D:\SING"
ActiveWorkbook.SaveAs Filename:= _
"D:\SING.xls", FileFormat:=xlExcel8, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox ("Chargement SING terminé")
End Sub
 

r0man0

XLDnaute Nouveau
Re : case à cocher bouton et macro

Bonjour,
concernant mon pb de bouton, une connaissance m'a indiqué de faire comme suit cependant, cela me laisse un peu perplexe, et je ne voie pas comment mettre tout en branle, voilà ce qu'il m'a dit.

Crées une variable globale comme un entier

dim trackchoisi as Integer

et Affectes une petite macro à chacune de tes options :

Private Sub OptionButton1_Click()
If OptionButton1 = True Then
trackchoisi = 1
End If
End Sub
Private Sub OptionButton2_Click()
If OptionButton2 = True Then
trackchoisi = 2
End If
End Sub
Private Sub OptionButton3_Click()
If OptionButton3 = True Then
trackchoisi = 3
End If
End Sub
Private Sub OptionButton4_Click()
If OptionButton4 = True Then
trackchoisi = 4
End If
End Sub
Private Sub OptionButton5_Click()
If OptionButton5 = True Then
trackchoisi = 5
End If
End Sub
Private Sub OptionButton6_Click()
If OptionButton6 = True Then
trackchoisi = 6
End If
End Sub

définir quel track est à utiliser --> avec un If trackchoisi = x then ...

Un court exemple :

Sub test()

Select case trackchoisi
Case 1
MsgBox "c'est le track1"
Case 2
MsgBox "là c'est le track2"
End select

End sub

Et bien pour tout vous dire je suis dans le brouillard total.
 

Discussions similaires

Réponses
5
Affichages
188
Réponses
4
Affichages
195

Statistiques des forums

Discussions
312 305
Messages
2 087 077
Membres
103 455
dernier inscrit
saramachado