Macro intégrée dans une autre

  • Initiateur de la discussion Initiateur de la discussion guy72
  • 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 !

guy72

XLDnaute Impliqué
Bonjour,
1) J'ai une macro qui s'appelle "WS_2300".
2) J'ai une autre macro qui s'apelle "Flèche".
Je souhaite en faire qu'une, donc j'ai mis dans "WS_2300" la ligne "Call Flèche", et là ça ne fonctionne plus.

J'ai le message suivant:
Erreur de compilation:
Variable ou procédure attendue, et non un module.

Que peut il se passer ?
C'est deux macros fonctionnent très bien séparément.

Merci de votre aide
Cordialement
Guy


------------------------------------------------------------------------------------
Sub WS_2300 ()

Dim FeWS2300 As Worksheet
Dim FeFévrier As Worksheet
Dim Source As Range
Dim Colonne As String

Set FeWS2300 = Worksheets("WS2300")
Set FeFévrier = Worksheets("Février")

With FeWS2300

'Vent
Set Source = .Range("BI5:BU5"): Colonne = "AN"
FeFévrier.Range(Colonne & 65535).End(xlUp).Offset(2, 0). _
Resize(Source.Rows.Count, Source.Columns.Count).Value = Source.Value
Call Flèche
Sheets("Février").Select
End With
End Sub
------------------------------------------------------------------------------------
Option Explicit

Const CELLULE_BASE As String = "AT11"

Sub Flèche()
Dim S As Worksheet
Dim S2 As Worksheet
Dim SH As Shape
Dim SH2 As Shape
Dim SH3 As Shape
Dim R As Range
Dim R2 As Range
Set S = Sheets("WS2300")
Set S2 = Sheets("Février")
For Each SH In S.Shapes
Set R = SH.TopLeftCell
If Not Application.Intersect(R, S.Range("BO4:BO6")) Is Nothing Then
SH.Copy
S2.Select
Set R2 = S2.Range(CELLULE_BASE)
For Each SH2 In S2.Shapes
Do Until SH2.TopLeftCell.Address <> R2.Address
Set R2 = R2.Offset(2, 0)
Loop
Next SH2
R2.Select
S2.PasteSpecial Format:="Image (PNG)", Link:=False, DisplayAsIcon:=False
Set SH3 = S2.Shapes(S2.Shapes.Count)
If SH3.Width < R2.Width Then
SH3.Left = SH3.Left + (R2.Width - SH3.Width) / 2
End If
If SH3.Height < R2.Height Then
SH3.Top = SH3.Top + (R2.Height - SH3.Height) / 2
End If
R2.Select
Exit For
End If
Next SH
End Sub
 
Dernière édition:
Re : Macro intégrée dans une autre

Bonjour, Guy

Quelques pistes :
Tes deux macros sont-elles dans le même module ?
As-tu essayé d'écrire in extenso le code de "Flèche" dans ta macro WS_2300 ?

Essaie, on ne sait jamais...


Oups ! Bonjour Pierrejean 🙂
 
Re : Macro intégrée dans une autre

Bonjour à vous,
Excusez, je suis dessus depuis tellemnt longtemp, que j'ai envoyé mon message sans me relire.
La 1ère macro est "WS_2300" et non transfert.
La 2ème macro est "Flèche" et non pmo.
Je souhaiterais faire ce que me dit "13GIB59" mais je ne sais pas faire.
Les deux macros ne se trouve pas dans le même module.
 
Re : Macro intégrée dans une autre

Bonjour guy72, 13GIBE59, pierrejean,
Je vais peut être dire nimporte quoi mais je ne mettrais pas un appel de macro à l'intérieur d'un
With ... ... End With
With FeWS2300
'Vent
Set Source = .Range("BI5:BU5"): Colonne = "AN"
FeFévrier.Range(Colonne & 65535).End(xlUp).Offset(2, 0). _
Resize(Source.Rows.Count, Source.Columns.Count).Value = Source.Value
Call Flèche
Sheets("Février").Select
End With
Cordialement
 
Re : Macro intégrée dans une autre

Bonjour Pierre-Jean
Je voulais le signaler, mais fffuuuttt !!!! c'est parti 🙂-((
Oui les macros ont le même non que le module.
Justement, je me posais le question, je suis entrain de changer de nom.
Les macros gardent leur noms.
Le module "WS82300" devient "Liaisons".
Le module "Flèche" devient "Sens_Vent"
 
Re : Macro intégrée dans une autre

Re
Bon, voilà le résultat.
Je pense que c'est un problème d'avoir les mêmes noms de module que de macros.
Après, j'ai quand même déplacé "Call Flèche" et l'ai mis à la fin.
Bien sur le mieux serais d'intégrer la macro "Flèche" dans l'autre, mais je ne sais pas faire.
C'est déjà bien que cela fonctionne avec un seul bouton.
En attendant, je vous remercie de votre aide.
A+
Cordialement
Guy
 
- 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

Retour