IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Appliquer un même code sur plusieurs feuilles Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut Appliquer un même code sur plusieurs feuilles Excel
    salut tout le monde,

    J'ai des codes qui marchent bien pour un de mes onglets nommé "sheet1", je souhaite appliquer les mêmes codes pour mes autres onglets, en sachant que la seule chose à remplacer dans les codes sera le nom de l'onglet(ce nom intervient quand je Set la worksheet mais aussi dans le cadre de concaténations...)

    Est ce qu'on peut définir ce Nom comme variable qui prendra les noms des onglets les uns après les autres....??
    En sachant que je souhaite lancer une seul fois mes codes grace à un boutton pour générer mes tableaux sur toutes les sheets ( le boutton est deja fait pour la sheet1)..

    Merci pour l'aide

  2. #2
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Le code d'un objet Feuille donné se réfère à celle-ci, dans des modules ordinaire, tu peux effectivement dire à ton code "pour chaque feuille de ce classeur..." ou pour "telles feuilles de ce classeur..." faire ceci et cela.

    vois dans l'aide vba du côté de Worksheets, Sheets, il y a des exemples et du côté de Création de variables Objets sinon.
    Voir aussi à "Me" si besoin
    Le nom d'une feuille sinon peux être mis dans une variable String .

    cordialement,

    Didier

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    Bonjour

    Je te donne une idée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim MaVariable as String
     
    MaVariable=ActiveSheet.Name
    Sheets(MaVariable).(ton code)
    C'est tout ce que je sais faire

  4. #4
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut
    j'ai cherché dans l'aide mais je ne trouve pas
    je suis toujours la dessus

    a toute a l heure

  5. #5
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour mouncefdi La Zélie Ormonth le forum je pense que La Zélie ta donner la bonne reponse il faudrait voir ton code pour adapter!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour,

    L ' idée : boucler sur toutes le fl du classeurs puis passer le nom de la feuille
    de type string à la procédure qui doit effecter les opérations sur chaque onglet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub EnumSheets()
    Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Worksheets
       AffichNomOnglet sh.Name
    Next sh
    End Sub
     
     
    Sub AffichNomOnglet(nm As String)
    Dim sh As Worksheet
    Set sh = Worksheets(nm)
    MsgBox sh.Name
    End Sub

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Un petit conseil à tous:
    Apprenez à penser objet.

    En reprenant le code de patbou, il est possible de passer un objet sheet à une procédure ou fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub EnumSheets()
    Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Worksheets
       AffichNomOnglet sh
    Next sh
    End Sub
     
     
    Sub AffichNomOnglet(wks as Worksheet)
    MsgBox wks.Name
    End Sub

  8. #8
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Oui... l'objet qui pose problème, est pour le moment la question elle-même on ne sait toujours pas précisément si le code auquel Mouncefdi fait allusion se situe dans un module de feuille ou ordinaire ni précisément la question précise, un (ou des ) bouts de code serait(ent) très précieux pour faire avancer le Schmilblick dans le bon sens

    cordialement,

    Didier

  9. #9
    Membre du Club
    Inscrit en
    Mars 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 105
    Points : 41
    Points
    41
    Par défaut
    Salut tout le monde,

    Merci pour vos réponses....

    Pour Ormonth, mes codes se situe dans un module

    j'ai opter pour la solution suivante finalement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Réplication_autres_feuilles()
     
    Dim vect(1 To 8) As String
    Dim i As Integer
    vect(1) = "sheet1"
    vect(2) = "sheet2"
    vect(3) = "sheet3"
    vect(4) = "sheet4"
    vect(5) = "sheet5"
    vect(6) = "sheet6"
    vect(7) = "sheet7"
    vect(8) = "sheet8"
     
     
    For i = LBound(vect) To UBound(vect)
        Call AdapterFeuilles(vect(i))
    Next i
     
    End Sub
    Le problème est résolu Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Birt et données sur plusieurs feuilles Excel
    Par fleak dans le forum BIRT
    Réponses: 8
    Dernier message: 25/07/2011, 17h16
  2. [XL-2003] Recordset sur plusieurs feuilles Excel
    Par Azuly dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/02/2010, 23h27
  3. [XL-2003] Avoir le même code pour plusieurs feuilles
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/01/2010, 13h29
  4. Execution de code sur plusieurs feuilles
    Par anisr dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2006, 11h12
  5. [excel] même code sur plusieurs feuilles
    Par sabotage dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/11/2005, 12h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo