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

Executer macro en feuille2 pour feuille1

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 !

olibelle0101

XLDnaute Occasionnel
Bonsoir,

J'ai réussi à exécuter une macro dans ma feuille "Saisie" pour filtrer dans cette même feuille.
J'aimerai pouvoir exécuter cette macro située dans une autre feuille "Ecart" pour faire toujours le même travail dans ma feuille "Saisie".

Je joint un fichier...

J'ai donc 2 boutons qui marche, dans ma feuille "Saisie" (les déplacer dans la feuille "Ecart")

Bonne soirée à tous...
 

Pièces jointes

Dernière édition:
Re : Executer macro en feuille2 pour feuille1

Bonjour Olibelle,

Le fait que les macro n'apparaissent pas dans ta liste, c'est parce que je les ai qualifié de privées (cf Private sub au lieu de Private)

Cela permet de limiter la liste utilisateurs aux macros qu'il est censé pouvoir déclencher de manière directe, ce que je ne considère pas être le cas pour des macros par boutons. Libre à toi de changer cela en supprimant le "Private"

Lorsque tu créé une checkbox, repères bien le numéro qui s'affiche de manière automatique : tu aura son nom "en dur" par la même synthaxe qu'utilisé pour l'instant.
 
Re : Executer macro en feuille2 pour feuille1

Merci Tirou de tes conseils...

Tout marche bien pour moi...
Seulement, si je veux utiliser plusieurs filtre sur une colonne...

J'ai ce code :
ThisWorkBook.sheets("Ecart").CheckBox1 = 0

Ou je l'insère ???

pour le moment j'ai ceci (je ne peux choisir qu'un choix par colonne) :

Private Sub Custom26() -------(j'en ai plusieurs comme ça)--------------
Application.ScreenUpdating = False
With ThisWorkbook
If .Sheets("Ecart").CheckBoxes("Check Box 41").Value > 0 Then 'selon la checkbox, active ou désactive le filtre dédié
.Sheets("Saisie").Range("A1").AutoFilter Field:=61, Criteria1:=Array("Marseille"), Operator:=xlFilterValues
Else
.Sheets("Saisie").[A1].AutoFilter Field:=61
End If
End With
Call MajTableau
End Sub
----------------------------------------------------------------------------------------------------

Private Sub Filtre()
Application.ScreenUpdating = False

Sheets("Saisie").[A1].AutoFilter 'réinitialise les filtres
With ThisWorkbook.Sheets("Ecart") 'réinitialise les checkbox
For Each box In .CheckBoxes
box.Value = 0
Next box
End With

Call MajTableau
End Sub
 
Re : Executer macro en feuille2 pour feuille1

Je vois que tu en es à 41 checkbox ... tu en veux combien ?

Pour activer plusieurs filtres sur une même colonne, je vois 2 possibilités :
1) si tu as peux de filtres "liés" sur une même colonne, tu peux jouer avec une succession de IF. Exemple :

Code:
if checkbox1=tada then
   if checkbox2 = bidule then
      'instruction si vrai et vrai
   else
      'instruction si vrai et faux
      end if
elseif checkbox3 = trucmuche then
   'instruction si check1 faux et check3 vrai
else
   'instruction si check 1 faux et check3 faux
   end if

Cela peu vite devenir fastidieux si tu comptes multiplier les filtres possibles sur une même colonne.

2) Jouer directement sur le critère de sélection de ton filtre, le fameux Array("Machin", "Truc", "Bidule"). Si tel est le cas, renvoies un peu ton fichier que je me fasse la main. Je ne connais pas les bonnes syntaxes par cœur, et il faudra remanier un peu l’architecture des macros déjà en place.
 
- 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

Réponses
4
Affichages
253
D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…