Une macro pour plusieurs colonnes

Bonjour, voila,

J'ai fait une macro pour servir de chrono et compte tour, maintenant j'aimerai pouvoir associer cette macro à chaque bouton situé dans chaque colonne sans toucher au code , une sorte de :

Si j'appuie sur le bouton en E8, la macro s'applique pour cette colonne, sans recopier le code et changer les noms de colonnes dans le code...

J'aimerai aussi un coup de main pour savoir comment faire une macro qui ajoute autant de bouton que je veux sur une meme ligne, ici la 8

J'avais ca , mais ca ne marche pas ... MERCI de votre aide !

ublic i As Long

Public V As Long

Sub MacroXX()

Dim DL As Long, Obj As Object, Code As String

DL = Cells(Application.Columns.Count, 1).End(xlToLeft).Column

For i = 1 To 8

'crée le bouton

With Range("A" & 1 & ":L" & 1)

Set Obj = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _

Link:=False, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)

Obj.Name = i

End With

'texte du bouton

Obj.Object.Caption = i

'Le texte de la macro

Code = "Sub i" & i & "_Click()" & vbCrLf

Code = Code & "Columns(" & i & ").Interior.Color = RGB(146, 208, 80)" & vbCrLf

Code = Code & "End Sub"

'Ajoute la macro en fin de module feuille

With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.Name).CodeModule

.insertlines .CountOfLines + 1, Code

End With

Next i

End Sub

Bonjour,

voici un exemple,

SUper

Mais, pourquoi l'appli "creer bouton" s’arrête à 11 boutons ?

Et comment faire pour appliquer cette macro :

Sub bouton_Cliquer()

Nom = Application.Caller

MsgBox "colonne: " & ActiveSheet.Shapes(Nom).TopLeftCell.Column

' cl = ActiveSheet.Shapes(Nom).TopLeftCell.Column

' Columns(cl).Interior.Color = RGB(146, 208, 80)

End Sub

Non seulement pour qu'elle lance non pas le msg mais cette macro :

Sub ClicTourN°1()

Range("C11") = Now()

Range("C11").NumberFormat = "h:mm:ss"

Range("C12").Formula = "=C11-B3-Sum(C14:C1000)"

Range("C13").Value = Range("C12").Value

Rows("13:13").Insert Shift:=xlDown

Range("C10") = Range("C10") + 1

End Sub

et non pas pour la colonne c mais pour toutes les colonnes associées à leur bouton , je clique en C8 et j'obtiens les résultats en C, je clique en D8 et j'obtiens les résultats en D , tout ca en appliquant une seule macro à tous les boutons ?

Bonjour,

Mais, pourquoi l'appli "creer bouton" s’arrête à 11 boutons ?

j'ai mit une donnée en cellule M1

et vous aviez écrit cette commande,

DL = Cells(1, Columns.Count).End(xlToLeft).Column

Merci, mais cela ne fonctionne pas,

Lorsque je clique sur un bouton autre que dossard 1, les temps des tours se cumulent dans "temps du dernier tour" au lieu de passer l'avant dernier chrono en ligne 14

SINON si j'appuie sur le bouton 1, la macro marche parfaitement, mais lorsque j'appuie sur un autre chrono, le temps qui apparait en ligne 12 est toujours le cumulé des chrono, et celui qui apparait en ligne 14 est LE MEME que celui en ligne 15 de la colonne du dossard 1

ce que je voudrais ce sont des chronos indépendants, avec les chronos des anciens tours en dessous.

Votre macro etait quasi parfaite , j'ai juste changé un petit truc, mais maintenant comment faire pour que le bouton de la colonne fasse apparaître des résultats indépendants de ceux de la colonne du dossard n°1, car c'est ca le probleme

Je débute avec VBA mais je comprends parfaitement la logique de ce que vous avez ecrit, merci beaucoup ca me fait connaitre ce codage.

Bonjour,

Sub ClicTourN°1()
Dim cl As Integer
cl = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Column
    Cells(11, cl) = Now()
    Cells(11, cl).NumberFormat = "h:mm:ss"
    Cells(12, cl).Formula = "=" & Cells(11, cl).Address & "-B3-Sum(" & Range(Cells(14, cl), Cells(1000, cl)).Address & ")"
    Cells(13, cl).Value = Range("C12").Value
    Rows("13:13").Insert Shift:=xlDown
    Cells(10, cl) = Cells(10, cl) + 1
End Sub

je ne comprend pas,

lors du clic sur un des boutons, la cellules ( ligne 11 et colonne du bouton est = à maintenant (hh:mm:ss)

faut t'il mettre autre chose ?

... voila le probleme, je suis comme vous, en voyant le code j'ai du mal a comprendre; c'est comme si le code ne s'associait qu'en partie à la bonne colonne et le reste a la colonne du dossard 1

nielsocks 1er juill
Rechercher des sujets similaires à "macro colonnes"