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 :

Petit soucis de combinaison d'une macro sur deux feuilles [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut Petit soucis de combinaison d'une macro sur deux feuilles
    Bonsoir à tous

    Voila je suis face à un petit soucis de combinaison en effet je voudrai appliquer les mêmes procédures de la macro ci-dessous (qui fonctionne parfaitement en feuille1) dans la feuille2 en cliquant sur le même bouton nommé CommandButton1_Click

    Voici la macro :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    Private Sub CommandButton1_Click()
    Dim Ctrl As Control
    Dim r As Integer
    Dim Derligne As Integer
    Dim LigneDebut As Long
    Dim x As Integer, L As Integer, nombre_de_colonne As Integer
    Dim Ligne As Long, Celluledebut As Integer, Cellulefin As Integer
     
    With Worksheets("feuil1")
    LigneDebut = 12
    Derligne = .Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
    Ligne = Derligne
    Celluledebut = 3: Cellulefin = 7
    Range(Cells(Ligne, Celluledebut), Cells(Ligne, Cellulefin)).Merge
    For Each Ctrl In UserForm1.Controls
    r = Val(Ctrl.Tag)
    If r > 0 Then Feuil1.Cells(Derligne, r) = Ctrl
    nombre_de_colonne = 2
      For x = 2 To nombre_de_colonne
        L = Cells(Rows.Count, 1).End(xlUp).Row
        Cells(L + 1, x).Formula = "=SUM(" & Cells(12, x).Address & ":" & Cells(L, x).Address & ")"
                 Next
             Next
       End With
       TextBox1 = ""
       Unload Me
    End Sub
    Merci par avance

    Cordialement

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 139
    Points : 9 974
    Points
    9 974
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    une simple boucle à faire sur tes deux feuilles
    tu boucles sur les feuilles du fichier et tu les cherches par le nom

    ou alors tu stockes les noms dans un tableau, et tu le parcours
    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
    Sub MesFeuilles()
    Dim LesFeuilles() As Variant
    Dim LaFeuille As Worksheet
    Dim i As Integer
     
        Feuilles = Array("Feuil1", "Feuil2", "Feuil3")
        For i = LBound(Feuilles) To UBound(Feuilles)
            Set LaFeuille = Worksheets(Feuilles(i))
     
            ' ton code en utilisant LaFeuille
            MsgBox LaFeuille.Name
        Next i
     
        Set LaFeuille = Nothing
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Merci mon ami

    Mais étant nul en Vba j'ai eu du soucis appliquer ça car mon bouton de validation est situer dans un userform

    bréf voici mon classeur pour être plus claire

    Merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Private Sub CommandButton1_Click()
     
    Meme_Procedure "Feuil1"
    Meme_Procedure "Feuil2"
    Meme_Procedure "Feuil3"
     
    Unload Me
    End Sub
     
    Sub Meme_Procedure(ByVal Nom_Feuille As String)
    Dim Ctrl As Control
    Dim r As Integer
    Dim Derligne As Integer
    Dim LigneDebut As Long
    Dim x As Integer, L As Integer, nombre_de_colonne As Integer
    Dim Ligne As Long, Celluledebut As Integer, Cellulefin As Integer
     
    With Worksheets(Nom_Feuille)
    LigneDebut = 12
    Derligne = .Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
    Ligne = Derligne
    Celluledebut = 3: Cellulefin = 7
    Range(Cells(Ligne, Celluledebut), Cells(Ligne, Cellulefin)).Merge
    For Each Ctrl In UserForm1.Controls
    r = Val(Ctrl.Tag)
    If r > 0 Then Feuil1.Cells(Derligne, r) = Ctrl
    nombre_de_colonne = 2
      For x = 2 To nombre_de_colonne
        L = Cells(Rows.Count, 1).End(xlUp).Row
        Cells(L + 1, x).Formula = "=SUM(" & Cells(12, x).Address & ":" & Cells(L, x).Address & ")"
                 Next
             Next
       End With
       TextBox1 = ""
     
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2015
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2015
    Messages : 86
    Points : 55
    Points
    55
    Par défaut
    Bonjour gnain

    Merci infiniment ça marche à merveille travail d'un pro

    Merci encore à notre ami joe.levrai

    Cordialement

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

Discussions similaires

  1. [XL-2013] Difficultés pour la création d'une macro sur deux colonnes de nombres
    Par mr_hodor dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/07/2014, 12h49
  2. [XL-2007] utiliser une macro sur plusieurs feuilles
    Par revans dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/06/2012, 14h20
  3. [XL-2007] Exécuter une macro sur plusieurs feuilles
    Par formabox dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/03/2012, 18h22
  4. [XL-2007] Aplliquer une macro sur deux feuil d'un classeur
    Par anasleco dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/02/2010, 19h25
  5. Comment annuler les effets d'une macro sur les feuilles?
    Par jolzeviking dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/06/2008, 14h29

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