Toutes mes réponses sur les forums

11 sujets de 1 à 11 (sur un total de 11)
  • Auteur
    Articles
  • en réponse à : Sélectionner onglets pairs ou impairs #39547
    Philgood.001
    Participant

    Bonsoir Francis,

    Toutes mes excuses pour avoir laissé ce post en l’état…
    Depuis le temps…

    Je reviens donc dessus pour en finir avec cette question.
    Je rappelle la question posée :

    Comment relier un bouton Active X identique sur plusieurs onglets à une seule macro?

    – Au début, j’avais copié-collé la même macro sur toutes les feuilles VBA.
    Mais pour chaque modif. ou amélioration du code, je devais refaire la même manip pour
    toutes les feuilles…

    – Après votre réponse quant à la possibilité de le faire, j’ai trouvé une solution
    alternative :

    Recopier une commande simple dans chaque feuille VBA appelant la macro dans le Module1 où
    se trouvait le code à exécuter, ce qui donne :

    * Sheet :

    `Private Sub ViderCellules_Click()

    ‘ VIDER_CELLULES Macro

    ‘Call ViderCellules
    ViderCellulesModule

    End Sub`

    * Module1 :

    `Sub ViderCellulesModule()

    ‘ VIDER_CELLULES Macro
    Range(“C7:D10,F7:G10,C13:D14,F13:G14,C16:D23,F16:G23,C25:D30,F25:G30,C32:D35,F32:G35,C38:D39,F38:G39,C41:D42,F41:G42,C44:D45,F44:G45,C47:D50,F47:G50,C52:D56,F52:G55”).Select
    Selection.ClearContents

    ActiveSheet.Next.Select

    Range(“B7:C34”).Select
    Selection.ClearContents

    Range(“C34”).Select

    ActiveSheet.Previous.Select

    Range(“D7”).Select

    End Sub`

    Cette méthode fonctionne parfaitement, mais je me rends compte que si toutes mes feuilles sont déjà créées et que je décide d’ajouter ce bouton sur chacune d’entre elles, cela devient très long à faire.
    Y-a-t’il une solution qui joigne directement le bouton de chaque feuille à la macro du Module1 plutôt que de passer par l’intermédiaire de chaque “sheet”?

    Merci à vous Francis.

    Philgood.001.

    en réponse à : Sélectionner onglets pairs ou impairs #35254
    Philgood.001
    Participant

    Bonsoir,

    Désolé Francis. Je m’aperçois que vous me vous-voyez et que je vous tutoie…
    Toutes mes excuses! Je m’aligne et passe donc au vouvoiement.
    A très bientôt.
    Bonne soirée.

    Philgood.001.

    en réponse à : Sélectionner onglets pairs ou impairs #35253
    Philgood.001
    Participant

    Bonjour Francis,

    Merci pour ton retour rapide.
    En effet je suis d’accord avec toi s’il s’agit d’un bouton en mode “Formulaire”.
    Mais j’ai oublié de préciser que pour des raisons esthétiques et pratiques, je préfère utiliser un bouton “ActiveX” dont je pourrai personnaliser la couleur. Et dans ce cas, ta proposition ne fonctionne pas.
    Comment faire pour simplifier de la même façon qu’avec le mode “Formulaire”?

    Merci à toi Francis.

    Philgood.001.

    en réponse à : Sélectionner onglets pairs ou impairs #35211
    Philgood.001
    Participant

    Bonjour Francis,

    Merci pour les infos. Je vais garder la formule actuelle pour l’instant.

    J’ai une dernière question toujours sur ce classeur :

    Sur chaque onglet, j’ai un bouton “Imprimer” (qui avant d’imprimer, cache certaines colonnes puis imprime puis ré-affiche lesdites colonnes). Du coup j’ai le même code sur 24 onglets (pour l’instant…).
    Mais si je veux modifier le code par ex., je dois le faire pour chaque onglet, et ce 24 fois!!!

    Y-a-t-il donc une solution qui permette de centraliser la formule d’impression quelque part et de ne créer que des renvois standardisés sur chaque onglet vers la formule générale d’impression?

    J’avais pensé mettre la formule dans “ThisWorkBook” et mettre un renvoi dans chaque “Sheets”.
    Qu’en penses-tu? Par contre pour le code je ne sais pas faire…

    Merci encore à toi.

    A bientôt.

    Philgood.001.

    • Cette réponse a été modifiée le il y a 6 années et 11 mois par Philgood.001.
    • Cette réponse a été modifiée le il y a 6 années et 11 mois par Philgood.001.
    en réponse à : Sélectionner onglets pairs ou impairs #34996
    Philgood.001
    Participant

    Bonjour Francis,

    Bon, je pense que je vous pense que je vous ai lassé avec mes questions sans fin.

    Je comprends.

    Merci beaucoup pour votre aide. Je vais conserver ces codes bien au chaud.

    Bon we à vous et à bientôt!

    Philgood.001

    en réponse à : Sélectionner onglets pairs ou impairs #34611
    Philgood.001
    Participant

    Bonjour Francis,

    Bon finalement après plusieurs tentatives sans succès, voici ma 2è problématique toujours liée au même tableau:

    J’ai mes onglets suivants nommés comme suit:

    01.16 Tab – 01.16 Gra – 02.16 Tab – 02.16 Gra – 03.16 Tab – 03.16 Gra – …

    Ça continue sur 2017 et c’est amené à faire de même pour les années à suivre, tout ça sur le même classeur.

    Le but du jeu est de faire un rappel du contenu de la cellule F45 de l’onglet Tab du mois précédent (ex: 02.16 Tab) dans la cellule G45 de l’onglet Tab du mois suivant (ex: 03.16 Tab), mais en utilisant une formule générique, donc non nominative.

    J’ai bien trouvé une formule proposée par http://boisgontierjacques.free.fr/pages_site/indirect.htm mais elle impose de créer un champ en prélude.

    Or je voudrais le même principe mais en plus simple à savoir sans ajouter de champ, uniquement avec une formule de cellule, sans macro bien sûr, ni passer par un onglet “Récap” couramment proposé pour l’utilisation de la fonction INDIRECT dans ce type de problématique.

    Vu ton niveau d’expertise, je tente ma chance…

    Je préviens, je sollicite également mdo100 de http://forum.formuleexcel.com/!

    Merci pour ton assistance.

    A très bientôt et très bon vote!

    Philgood.001

    • Cette réponse a été modifiée le il y a 6 années et 12 mois par Philgood.001.
    en réponse à : Sélectionner onglets pairs ou impairs #34597
    Philgood.001
    Participant

    Bonjour Francis,

    Merci pour la 2è proposition, mais en effet ça ne change rien, notamment quant à la vitesse.
    Je garde donc la 1ère version, plus simple à comprendre pour le noob que je suis en VBA…
    Merci beaucoup pour votre aide depuis le début.
    Je reviendrai peut-être vers vous bientôt, mais cette fois-ci concernant une formule INDIRECT Excel qui me fait des misères.
    Mais j’essaie d’abord de trouver seul, sinon toc toc!

    Merci encore.

    Philgood.001

    • Cette réponse a été modifiée le il y a 7 années par Philgood.001.
    en réponse à : Sélectionner onglets pairs ou impairs #34511
    Philgood.001
    Participant

    Bonjour Francis,

    Vous êtes un chef!

    Exactement ce que je cherchais! Avec votre code, le masquage est instantané. Le mien le faisait en 2 étapes : d’abord la sélection des onglets puis le masquage de ces derniers.
    (enfin le mien… disons le code que j’ai récupéré ailleurs sur le net…).

    Du coup pour la formule de démasquage, j’ai repris votre base et l’ai modifiée pour obtenir ceci :

    Sub TOUT_DEMASQUER()
    Dim i As Integer
    
        For i = 1 To Sheets.Count
                
                Sheets(i).Visible = xlSheetVisible
            
        Next i
        
        Sheets(1).Select
        Sheets(6).Select
    
    End Sub

    Mais il me fait défiler tous les onglets du 1er au dernier, tout comme la formule que j’avais initialement. Auriez-vous une idée pour un démasquage aussi instantané que les 2 formules de masquages que vous m’avez proposées?

    Merci à vous Francis.

    A bientôt.

    en réponse à : Sélectionner onglets pairs ou impairs #34507
    Philgood.001
    Participant

    Re-bonjour Francis,

    Vu le code hyper-light que tu as trouvé la semaine dernière, je me permets d’abuser de tes compétences… et de ta patience :
    Aurais-tu une variante pour :

    – masquer les onglets pairs
    – masquer les onglets impairs
    – tout démasquer

    dans une version aussi light que la précédente.

    J’en ai bien un (ci-dessous) mais avec 24 onglets, je me rends compte que la formule est lourde pour le CPU :

    Sub MASQUER_PAIRS()
    
    Dim Sht As Worksheet
    
    For Each Sht In ActiveWorkbook.Sheets 'tout déselectionner
       Sht.Select Replace:=True
    
    Next
    
    Sheets(Sheets.Count).Select Replace:=True
    ind = 1
      
      For Each Sht In ActiveWorkbook.Sheets
        
      If ind Mod 2 = 0 And ind > 5 Then 'si pair
        Sht.Select Replace:=False
      End If
      
      ind = ind + 1
      
      Sheets(Sheets.Count - 1).Activate
      Sheets(1).Visible = False
      Sheets(2).Visible = False
      Sheets(3).Visible = False
      Sheets(4).Visible = False
      Sheets(5).Visible = False
       
      Next Sht
        
        ActiveWindow.SelectedSheets.Visible = False
        
    End Sub
    Sub MASQUER_IMPAIRS()
    
    Dim Sht As Worksheet
    
    For Each Sht In ActiveWorkbook.Sheets 'tout déselectionner
    Sht.Select Replace:=True
    
    Next
    
    Sheets(Sheets.Count).Select Replace:=True
    ind = 1
    
      For Each Sht In ActiveWorkbook.Sheets
      
      If ind Mod 2 <> 0 And ind > 5 Then 'si impair
        Sht.Select Replace:=False
      End If
      
      ind = ind + 1
      
      Sheets(1).Visible = False
      Sheets(2).Visible = False
      Sheets(3).Visible = False
      Sheets(4).Visible = False
      Sheets(5).Visible = False
    
      Next Sht
      
        ActiveWindow.SelectedSheets.Visible = False
        
        Sheets(6).Select
        
    End Sub
    Sub TOUT_DEMASQUER()
    
    Dim Feuille As Object
    
    For Each Feuille In ActiveWorkbook.Sheets
     Feuille.Visible = xlSheetVisible
    Next
    
    Sheets(6).Select
    
    End Sub

    Merci à toi Francis.

    Bon we.

    en réponse à : Sélectionner onglets pairs ou impairs #34482
    Philgood.001
    Participant

    Bonjour Francis,

    Désolé pour ma réponse tardive…

    Votre code est excellent, ultra léger et donc ultra rapide.
    Je prends!!!

    Merci à vous.

    A bientôt.

    en réponse à : Sélectionner onglets pairs ou impairs #34369
    Philgood.001
    Participant

    PS : Je tiens à préciser que je ne veux pas indiquer le nombre d’onglets à inclure dans le code. Celui-ci doit s’adapter au nombre d’onglets au fur et à mesure des variations.
    En effet, chaque année je rajouterai 12 nouveaux onglets, et je ne veux pas avoir à modifier chaque fois le code, d’autant plus que mes collègues ne maîtrisent pas du tout le VBA…

    Merci.

11 sujets de 1 à 11 (sur un total de 11)