Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro et objet : comment?

  • Initiateur de la discussion Initiateur de la discussion ccdouble6
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ccdouble6

XLDnaute Occasionnel
Bonjour à tous,

Utilisateur d'Excel 2000, j'ai déjà récupéré des fichiers où il est à peu près expliqué comment affecter une macro à un bouton ou à une zone de texte.
Avec un clic droit sur l'objet je sais que je peux lui affecter une macro.
Le problème c'est qu'ensuite au premier clic sur l'objet la macro s'exécute, mais avec un message :
"Nombre d'arguments incorrect ou affectation de propriété incorrecte"

Il y a qqchose qui cloche mais je ne vois pas ce que je peux corriger dans la macro pour que ce message n'apparaisse plus.
Plus généralement je souhaiterais savoir comment on affecte efficacement une macro à un objet et à une touche du clavier, cela me serait vraiment très utile 😎
Qq'un peut-il m'aider??
Merci d'avance!! 🙂
 
Re : macro et objet : comment?

Bonjour ccdouble6

A priori, d'après le message d'erreur que tu donnes, ca ne viendrait pas de l'affectation que tu as faites mais du code même de ta macro.

Si tu pouvais joindre un joindre un fichier on pourrait t'aider un peu plus.

Bon week end
@+
 
Re : macro et objet : comment?

En fait j'ai juste inséré une zone de texte puis j'ai cliqué droit pour lui affecter la macro collée ci-dessous :


Sub NouvelleLigneAuDessus()
' Insère une ligne au-dessus de la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
'Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.EntireRow.Insert
ActiveCell.Range("A2").Select
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig - 1, 1), Cells(ZtNumLig - 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig - 1, i).HasFormula Then
Cells(ZtNumLig - 1, i).Clear Contents
End If
Next i
End Sub


Peut-être faut-il metre qqchose entre les () à côté du titre je ne sais pas, je suis vraiment largué dans les associations macro-objet, peux-tu m'expliquer la méthode s'il te plait?
- pour affecter une macro à une zone de texte
- pour affecter une macro à une touche du clavier.
Merci d'avance!! 🙂
 
Re : macro et objet : comment?

Salut ccdouble6, Pierrot93,

En fait, comme l'avait deja dis Pierrot, le problème ne provenait pas de l'affectation que tu as faites, mais bel et bien du code de la macro. Il te suffit d'ailleur de modifier la ligne Cells(ZtNumLig - 1, i).Clear Contents par Cells(ZtNumLig - 1, i).ClearContents (dans ton code, il y a un espace entre Clear et Contents alors qu'il n'en faut pas).

Pour ce qui est d'affecté une macro a un raccourci clavier, va voir ces 2 liens proposés par mon ami Brico.

lien 1
lien 2

@+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
  • Question Question
Réponses
11
Affichages
2 K
LaSimonerie
L
I
Réponses
2
Affichages
1 K
I
L
Réponses
17
Affichages
2 K
lilicoco
L
N
Réponses
8
Affichages
7 K
N
E
Réponses
9
Affichages
3 K
earxcurae
E
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…