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 :

boucle dans VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut boucle dans VBA
    Bonjour,

    Je suis completement novice en VBA mais j'aurais besoin de faire une boucle et je n'y arrive pas...voila les trois premieres etapes (recopiées en manuel) pour que vous comprenniez.
    Merci d'avance pour votre aide...
    l'idée est de faire une boucle de 1 à N pour ne pas à devoir recopier N fois la même chose.
    merci d'avance.

    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
        Sheets("NOM").Select
        Sheets("NOM").Copy After:=Sheets(3)
        Range("A1:B1").Select
        ActiveCell.FormulaR1C1 = "='liste des élèves'!R[2]C[1]"
        Range("D3").Select
        ActiveCell.FormulaR1C1 = _
            "=IF(ISBLANK('notes globales'!RC[1]),"""",'notes globales'!RC[1])"
        Range("D3").Select
        Selection.AutoFill Destination:=Range("D3: D51"), Type:=xlFillDefault
        Range("D3: D51").Select
        Range("E49").Select
    '---------------------
        Sheets("NOM (2)").Select
        Sheets("NOM (2)").Copy After:=Sheets(4)
        Range("A1:B1").Select
        ActiveCell.FormulaR1C1 = "='liste des élèves'!R[3]C[1]"
        Range("D3").Select
        ActiveCell.FormulaR1C1 = _
            "=IF(ISBLANK('notes globales'!RC[2]),"""",'notes globales'!RC[2])"
        Range("D3").Select
        Selection.AutoFill Destination:=Range("D3: D51"), Type:=xlFillDefault
        Range("D3: D51").Select
        Range("E51").Select
    '---------------------
        Sheets("NOM (3)").Select
        Sheets("NOM (3)").Copy After:=Sheets(5)
        ActiveWindow.SmallScroll Down:=-75
        Range("A1:B1").Select
        ActiveCell.FormulaR1C1 = "='liste des élèves'!R[4]C[1]"
        Range("D3").Select
        ActiveCell.FormulaR1C1 = _
            "=IF(ISBLANK('notes globales'!RC[3]),"""",'notes globales'!RC[3])"
        Range("D3").Select
        Selection.AutoFill Destination:=Range("D3: D51")
        Range("D3: D51").Select
        Range("E20").Select


    je trouve ça bête de devoir recopier alors qu'une boucle devrait fonctionner mais lorsque je place une variable apres les "RC[" par exemple il plante
    merci
    Michael

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir,

    Comme ceci peut être ?
    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 Copier()
     
        Dim I As Integer
     
        For I = 1 To 3
     
            Sheets("NOM").Copy After:=Sheets(I + 2)
            [A1:B1].FormulaR1C1 = "='liste des élèves'!R[" & I + 1 & "]C[1]"
            [D3].FormulaR1C1 = "=IF(ISBLANK('notes globales'!RC[" & I & "]),"""",'notes globales'!RC[" & I & "])"
            [D3].AutoFill Range("D3:D51")
     
        Next I
     
    End Sub
    Hervé.

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut
    merci ! ça fonctionne .... impeccable !
    michael

    En fait j'avais essayé de mettre les "I+1" dans les lignes mais je ne mettais pas les "&"...du coup ça plantait !
    merci encore.
    michael

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    C'est pour ça qu'il est conseiller de faire un Debug.Print ou un MsgBox pour contrôler le résultat de la chaine que l'on veux construire comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MsgBox "=IF(ISBLANK('notes globales'!RC[" & I & "]),"""",'notes globales'!RC[" & I & "])"
    'ou
    Debug.Print "=IF(ISBLANK('notes globales'!RC[" & I & "]),"""",'notes globales'!RC[" & I & "])"
    si la variable I apparaît sous sa forme littérale c'est qu'il y a un hic.

    Bon WE.

    Hervé.

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

Discussions similaires

  1. Liste de déroulante à partir d'une boucle dans VBA
    Par LuluRBS76000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2014, 08h20
  2. Probleme de boucle dans VBA Excel
    Par Patrick717 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 27/02/2012, 17h24
  3. Problème pour réaliser une macro "de boucles" dans VBA
    Par philou7176 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/12/2008, 15h41
  4. [VBA-E] Boucles dans combo box
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/05/2007, 09h31
  5. [VBA-E] Problème pour faire une boucle dans une userform
    Par Garlim dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2007, 23h10

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