Liens entre macros??

LocSta

XLDnaute Occasionnel
Salut à tous
J'ai une macro qui est lancer par un bouton et j'aimerais qu'une fois executée une autre macro se lance mais celle ci se trouve sur une autre feuille et elle doit y rester, donc je ne pas utiliser la fonction "call".
Actuellement j'execute ma 1ere macro sur la feuille 1, une fois la macro exécutée je vais sur la feuille 2 et je clik sur le bouton pour executer la 2éme macro, je souhaiterai donc en cliquant sur un seul bouton que les 2 macros s'éxecutent.
Je suis novice en macro, quelqu'un à une idée?
 

LocSta

XLDnaute Occasionnel
Re : Liens entre macros??

Ma macro n'est pas dans un module mais dans une feuille donc avec la fonction application.run je ne la trouve pas
J'ai essayer:
Application.Run ("'[Copie de RELEVE D''HEURE (Marc) v3.xls]Archives Finale'!recap")
 

LocSta

XLDnaute Occasionnel
Re : Liens entre macros??

Je ne sais pas ce n'est pas moi qui l'ai fait mais essayer de la mettre dans un module ça ne marche pas, elle fait ien son travail que quand elle est dans la feuille ou elle doit effectué le travail.

Cette macro à été créer par PierreJean que je remercie au passage.

Voila la bete:
Sub Recap()
Dim n As Integer
Dim m As Integer
With Sheets("Archives Finale")
Dim lignes As Collection
Set lignes = New Collection
For n = 3 To Range("A65536").End(xlUp).Row
For m = n + 1 To Range("A65536").End(xlUp).Row
If Range("D" & n) & Range("E" & n) & Range("F" & n) = Range("D" & m) & Range("E" & m) & Range("F" & m) Then
Range("G" & n) = Range("G" & n) + Range("G" & m)
Range("I" & n) = Range("I" & n) + Range("I" & m)
Range("K" & n) = Range("K" & n) + Range("K" & m)
Range("M" & n) = Range("M" & n) + Range("M" & m)
Range("O" & n) = Range("O" & n) + Range("O" & m)
Range("Q" & n) = Range("Q" & n) + Range("Q" & m)
Range("S" & n) = Range("S" & n) + Range("S" & m)
Range("U" & n) = Range("U" & n) + Range("U" & m)
Range("W" & n) = Range("W" & n) + Range("W" & m)
Range("Y" & n) = Range("Y" & n) + Range("Y" & m)
Range("AA" & n) = Range("AA" & n) + Range("AA" & m)
Range("AC" & n) = Range("AC" & n) + Range("AC" & m)
Range("AE" & n) = Range("AE" & n) + Range("AE" & m)
Range("AG" & n) = Range("AG" & n) + Range("AG" & m)
Range("AI" & n) = Range("AI" & n) + Range("AI" & m)
lignes.Add m
End If
Next m
Next n
For n = lignes.Count To 1 Step -1
Rows(lignes(n)).Delete
Next n
End With
End Sub
 

chris

XLDnaute Barbatruc
Re : Liens entre macros??

Bonjour
Si la macro ne marche pas dans un module c'est, comme le suggère Pascal, un problème de feuille active.
Le RUN... aura donc le même effet.
Donc si cette macro ne doit s'appliquer qu'à une feuille particulière, sans doute "Archives Finale" il faudrait soit glisser une ligne pour activer cette feuille, soit modifier toutes les lignes pour utiliser le with, end with du code.
 

LocSta

XLDnaute Occasionnel
Re : Liens entre macros??

J'ai réessayé la méthode de Catrice mais ça ne marche pas.

La derniére version de ma macro est la suivante:

Dim lignes As Collection
Set lignes = New Collection
For n = 3 To Range("B65536").End(xlUp).Row
For m = n + 1 To Range("B65536").End(xlUp).Row
If Range("D" & n) & Range("E" & n) & Range("F" & n) = Range("D" & m) & Range("E" & m) & Range("F" & m) Then
Range("G" & n) = Range("G" & n) + Range("G" & m)
Range("I" & n) = Range("I" & n) + Range("I" & m)
Range("K" & n) = Range("K" & n) + Range("K" & m)
Range("M" & n) = Range("M" & n) + Range("M" & m)
Range("O" & n) = Range("O" & n) + Range("O" & m)
Range("Q" & n) = Range("Q" & n) + Range("Q" & m)
Range("S" & n) = Range("S" & n) + Range("S" & m)
Range("U" & n) = Range("U" & n) + Range("U" & m)
Range("W" & n) = Range("W" & n) + Range("W" & m)
Range("Y" & n) = Range("Y" & n) + Range("Y" & m)
Range("AA" & n) = Range("AA" & n) + Range("AA" & m)
Range("AC" & n) = Range("AC" & n) + Range("AC" & m)
Range("AE" & n) = Range("AE" & n) + Range("AE" & m)
Range("AG" & n) = Range("AG" & n) + Range("AG" & m)
Range("AI" & n) = Range("AI" & n) + Range("AI" & m)
Range("AK" & n) = Range("AK" & n) + Range("AK" & m)
Range("AM" & n) = Range("AM" & n) + Range("AM" & m)
lignes.Add m
End If
Next m
Next n
For n = lignes.Count To 1 Step -1
Rows(lignes(n)).Delete
Next n
MsgBox ("Mise à jour de la base de données Archive effectuée")
 

chris

XLDnaute Barbatruc
Re : Liens entre macros??

Bonjour
Eh oui et sans doute pour la raison que je t'ai indiquée.
Ajoute donc une ligne pour sélectionner la feuille où doivent se modifier les cellules après la ligne dim
Sheets("Archives Finale").Select
 

Catrice

XLDnaute Barbatruc
Re : Liens entre macros??

Bonsoir,

Il faut que tu modifies dans le genre :

With Sheets("MaFeuille")
Dim lignes As Collection
Set lignes = New Collection
For n = 3 To .Range("B65536").End(xlUp).Row
For m = n + 1 To .Range("B65536").End(xlUp).Row
If .Range("D" & n) & .Range("E" & n) & .Range("F" & n) = .Range("D" & m) & .Range("E" & m) & .Range("F" & m) Then
.Range("G" & n) = .Range("G" & n) + .Range("G" & m)

etc ...


lignes.Add m
End If
Next m
Next n
For n = lignes.Count To 1 Step -1
.Rows(lignes(n)).Delete
Next n
MsgBox ("Mise à jour de la base de données Archive effectuée")

End With
 

Discussions similaires

Réponses
9
Affichages
656

Statistiques des forums

Discussions
312 764
Messages
2 091 871
Membres
105 084
dernier inscrit
lca.pertus