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 :

Insérer une formule avec boucle parcourir feuilles et incrémenter variable


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2018
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 85
    Par défaut Insérer une formule avec boucle parcourir feuilles et incrémenter variable
    Salut tout le forum,

    j'ai besoin de votre aide.

    Dans mon classeur j'ai une feuille récapitulative qui va contenir des données de plusieurs personnes et 1 feuille par personne.

    Le nom des feuilles "personnelles" est un chiffre de 1 à x

    Je voudrais que sur chaque feuille "personnelle" la cellule B7 indique la valeur d'une cellule de la colonne D de la feuille récapitulative.

    Je souhaite donc parcourir mes feuilles "personnelles" tout en parcourant la colonne D de la feuille récapitulative.

    Voilà mon code pour l'instant :

    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
    Sub test()
     
    Dim numFeuille As Integer
    Dim numLigne As Integer
     
    numLigne = 4
     
    For numFeuille = 1 To 20
     
        Sheets("" & numFeuille & "").Range("B7").Formula = "=recap!(D" & numLigne & ")"
     
        numLigne = numLigne + 1
     
     Next
     
     End Sub
    Merci pour vodre aide.

    Edit Resolu :

    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
    Sub test()
     
        Dim numFeuille As Integer
        Dim numLigne As Integer
     
        numLigne = 4
     
        For numFeuille = 1 To 20
     
            Sheets("" & numFeuille & "").Range("B7").Formula = "=recap!D" & numLigne
     
            numLigne = numLigne + 1
     
        Next
     
    End Sub

  2. #2
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Salut

    Tu peux simplifier ton code.
    Code VBA : 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
     
    Sub test()
     
        Dim numFeuille As Integer
        Dim numLigne As Integer
     
        numLigne = 4
     
        For numFeuille = 1 To 20
     
            Sheets(numFeuille).Range("B7").Formula = "=recap!D" & numLigne
     
            numLigne = numLigne + 1
     
        Next numFeuille
     
    End Sub

    Les doubles guillemets te sont inutiles puisqu'ils ne contiennent aucune valeur.
    Conseil: derrière tes Next reprécise toujours le nom de la variable concernée par la boucle for. Cela te permettra de savoir où tu en est. Dans le cas présent tu n'as qu'une seule boucle mais dans un code avec plusieurs boucles imbriquées ce sera plus facile de t'y retrouver.

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2018
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 85
    Par défaut
    Bonjour Alex020181


    Merci pour ton aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        For numFeuille = 1 To 20
     
            Sheets(numFeuille)._ _ _ _ _ __ _ _       
     
        Next numFeuille
    J'avais mis les doubles guillemets parce qu'avec Sheets(numFeuille) il me semble que la feuille est sélectionnée en fonction de son index et pas de son nom (qui est un chiffre).

    Je vais réessayer.

  4. #4
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 601
    Par défaut
    Oui.

    Sheets("blabla") travaille sur la feuille nommée "blabla".

    Sheets(1) travaille sur la feuille d'index 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim nom_feuille as string
    nom_feuille = "blabla"
    Sheets(nom_feuille)
    travaille sur la feuille dont le nom est la valeur de la variable nom_feuille (donc ici la feuille "blabla").

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

Discussions similaires

  1. Insérer une ligne avec les formules
    Par FranckDevi dans le forum Excel
    Réponses: 4
    Dernier message: 15/06/2018, 19h04
  2. [XL-2010] Insérer une formule de calcul avec une boucle
    Par jessylfoh dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/09/2014, 20h13
  3. [XL-2010] Formule avec boucle For dans une macro
    Par Derfixien dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/09/2014, 22h18
  4. [XL-2003] Insérer une formule avec "Rank" en VBA
    Par apnw7931 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/04/2011, 11h48
  5. [XL-2007] Insérer une formule avec condition
    Par samia08 dans le forum Excel
    Réponses: 6
    Dernier message: 26/01/2011, 16h43

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