Bjr et Merci stefan,
la question n'est pas comment affecter une macro, mais plutôt comment adapter la macro en changant certains paramètres du code, pour quelle fonctionne dans les 3 cas de figure !!
as tu une idée ??
ce que j'ai compris:
la macro ajoute une ligne et fait le tri de la zone de données qui se trouve au dessus du bouton
Pourquoi ne pas l'avoir expliqué clairement dès le premier post
le problème est donc de récupérer la position du bouton sur la feuille
plutôt que se casser le c.., pour trouver cette position ,
je verrais plutôt bien une évènementielle RightClick ou Dblclick sur les cellules qui contiennent actuellement les boutons (les boutons seront supprimés)
et utiliser la valeur de Target.Row pour se situer dans la feuille
Salut Jean-Marcel,
la macro fonctionne avec le pays "Belarus" en E57, mais pas pour les autres pays (ce que j'aimerai adapter)
je veux éviter de faire 1 macro par pays (usine à gaz), car j'ai dans l'absolu 30 pays à gérer !!
d'où ma question: peut on adapter le code pour trouver les valeurs "Belarus" ou "Belgique" ou "Brésil" en colonne B ??
@+
Salut Jean-Marcel,
la macro fonctionne avec le pays "Belarus" en E57, mais pas pour les autres pays (ce que j'aimerai adapter)
je veux éviter de faire 1 macro par pays (usine à gaz), car j'ai dans l'absolu 30 pays à gérer !!
d'où ma question: peut on adapter le code pour trouver les valeurs "Belarus" ou "Belgique" ou "Brésil" en colonne B ??
@+
Pour chaque bouton, clic droit => Modifier le texte => entrer le nom du pays.
Ensuite mettez en début de macro et testez :
Code:
Sub Insertion()
Dim pays$, deb As Range, fin As Range
pays = ActiveSheet.DrawingObjects(Application.Caller).Text
Set deb = [B:B].Find(pays, LookIn:=xlValues): MsgBox deb.Row 'pour tester
Set fin = [B:B].Find(pays, After:=deb): MsgBox fin.Row 'pour tester
End 'pour tester
'reste de la macro à revoir en fonction de deb et fin...
End Sub
En ayant le début et la fin de chaque tableau, on fait ce que l'on veut ensuite
Alors moi j'ai écrit, en suivant l'idée de base de Goose :
Code:
Sub Insertion()
Dim derlig As Long
derlig = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row
Cells(derlig - 1, "B").Resize(, 9).Insert xlDown
Cells(derlig - 2, "B").Resize(, 9).AutoFill Cells(derlig - 2, "B").Resize(2, 9)
End Sub
Et roulez
PS : pour calculer derlig j'ai utilisé le code de Banzai64, ça évite de modifier le texte des boutons...