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 :

[Débutant]Problème de Boucle [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut [Débutant]Problème de Boucle
    Bonjour à tous,

    Avec une macro je dois insérer des données dans une feuille (20 x 3 données), ça fait beaucoup de lignes de code.
    Il doit certainement y avoir une solution avec une boucle, mais je ne trouve pas comment faire... (Les données ont des N° qui se suivent)
    Si quelqu'un peut me mettre sur la voie, ça serait sympa.

    Voici le code de base :

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    Sub Insert_Lig()
        With Tableau1
    ' Ligne1
        .Ing1.Value = Sheets("Donnees").Range("A22")
        .Qu1.Value = Sheets("Donnees").Range("B22")
        .Pts1.Value = Format(Sheets("Donnees").Range("D22"), "0.0")
    ' Ligne2
        .Ing2.Value = Sheets("Donnees").Range("A23")
        .Qu2.Value = Sheets("Donnees").Range("B23")
        .Pts2.Value = Format(Sheets("Donnees").Range("D23"), "0.0")
    ' Ligne3
        .Ing3.Value = Sheets("Donnees").Range("A24")
        .Qu3.Value = Sheets("Donnees").Range("B24")
        .Pts3.Value = Format(Sheets("Donnees").Range("D24"), "0.0")
    ' Ligne4
        .Ing4.Value = Sheets("Donnees").Range("A25")
        .Qu4.Value = Sheets("Donnees").Range("B25")
        .Pts4.Value = Format(Sheets("Donnees").Range("D25"), "0.0")
    ' Ligne5
        .Ing5.Value = Sheets("Donnees").Range("A26")
        .Qu5.Value = Sheets("Donnees").Range("B26")
        .Pts5.Value = Format(Sheets("Donnees").Range("D26"), "0.0")
    ' Ligne6
        .Ing6.Value = Sheets("Donnees").Range("A27")
        .Qu6.Value = Sheets("Donnees").Range("B27")
        .Pts6.Value = Format(Sheets("Donnees").Range("D27"), "0.0")
    ' Ligne7
        .Ing7.Value = Sheets("Donnees").Range("A28")
        .Qu7.Value = Sheets("Donnees").Range("B28")
        .Pts7.Value = Format(Sheets("Donnees").Range("D28"), "0.0")
    ' Ligne8
        .Ing8.Value = Sheets("Donnees").Range("A29")
        .Qu8.Value = Sheets("Donnees").Range("B29")
        .Pts8.Value = Format(Sheets("Donnees").Range("D29"), "0.0")
    ' Ligne9
        .Ing9.Value = Sheets("Donnees").Range("A30")
        .Qu9.Value = Sheets("Donnees").Range("B30")
        .Pts9.Value = Format(Sheets("Donnees").Range("D30"), "0.0")
    ' Ligne10
        .Ing10.Value = Sheets("Donnees").Range("A31")
        .Qu10.Value = Sheets("Donnees").Range("B31")
        .Pts10.Value = Format(Sheets("Donnees").Range("D31"), "0.0")
    ' Ligne11
        .Ing11.Value = Sheets("Donnees").Range("A32")
        .Qu11.Value = Sheets("Donnees").Range("B32")
        .Pts11.Value = Format(Sheets("Donnees").Range("D32"), "0.0")
    ' Ligne12
        .Ing12.Value = Sheets("Donnees").Range("A33")
        .Qu12.Value = Sheets("Donnees").Range("B33")
        .Pts12.Value = Format(Sheets("Donnees").Range("D33"), "0.0")
    ' Ligne13
        .Ing13.Value = Sheets("Donnees").Range("A34")
        .Qu13.Value = Sheets("Donnees").Range("B34")
        .Pts13.Value = Format(Sheets("Donnees").Range("D34"), "0.0")
    ' Ligne14
        .Ing14.Value = Sheets("Donnees").Range("A35")
        .Qu14.Value = Sheets("Donnees").Range("B35")
        .Pts14.Value = Format(Sheets("Donnees").Range("D35"), "0.0")
    ' Ligne15
        .Ing15.Value = Sheets("Donnees").Range("A36")
        .Qu15.Value = Sheets("Donnees").Range("B36")
        .Pts15.Value = Format(Sheets("Donnees").Range("D36"), "0.0")
    ' Ligne16
        .Ing16.Value = Sheets("Donnees").Range("A37")
        .Qu16.Value = Sheets("Donnees").Range("B37")
        .Pts16.Value = Format(Sheets("Donnees").Range("D37"), "0.0")
    ' Ligne17
        .Ing17.Value = Sheets("Donnees").Range("A38")
        .Qu17.Value = Sheets("Donnees").Range("B38")
        .Pts17.Value = Format(Sheets("Donnees").Range("D38"), "0.0")
    ' Ligne18
        .Ing18.Value = Sheets("Donnees").Range("A39")
        .Qu18.Value = Sheets("Donnees").Range("B39")
        .Pts18.Value = Format(Sheets("Donnees").Range("D39"), "0.0")
    ' Ligne19
        .Ing19.Value = Sheets("Donnees").Range("A40")
        .Qu19.Value = Sheets("Donnees").Range("B40")
        .Pts19.Value = Format(Sheets("Donnees").Range("D40"), "0.0")
    ' Ligne20
        .Ing20.Value = Sheets("Donnees").Range("A41")
        .Qu20.Value = Sheets("Donnees").Range("B41")
        .Pts20.Value = Format(Sheets("Donnees").Range("D412"), "0.0")
        End With
    End Sub
    Merci pour vos réponses

    Cordialement
    Magnum812

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonsoir,

    et c'est quoi tableau1 ?

  3. #3
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut
    Bonsoir,

    Tableau1 est un Userform. Les données Ing1, Qu1, Pts1... etc...sont récupérées après la validation de l'Userform...
    J'ai essayé avec les boucles :
    For x = 1 to 20 et For y = 22 to 41...
    Mais je n'arrive pas à faire la mise en forme de mon code... ça plante toujours.

    Merci de m'aider

    Cordialement
    Magnum812

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Tiens voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      For i = 1 To 2
        With tableau1
    ' Ligne i
        .Controls("Ing" & i).Value = Sheets("Donnees").Cells(21 + i, 1)
        .Controls("Qu" & i).Value = Sheets("Donnees").Cells(21 + i, 2)
        .Controls("Pts" & i).Value = Format(Sheets("Donnees").Cells(21 + i, 4), "0.0")
        End With
     Next

  5. #5
    Membre averti
    Homme Profil pro
    Artisan en retraite
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Artisan en retraite
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut
    Bonjour,

    Merci à toi bbil.
    C'est vrai que comme ça c'est beaucoup plus simple. J'avais essayé pas mal de chose, mais ".control " je ne connaissais pas. C'est pour ça que je n'arrivais pas à donner de valeur à mes variables Ing, Qu et Pts.
    Je débute et j'en ai encore beaucoup à apprendre...

    Encore merci à toi.

    Bonne journée
    Cordialement

    Magnum812

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

Discussions similaires

  1. [débutant]problème avec boucle
    Par nzangel dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 26/04/2008, 13h46
  2. [ débutant ] problème dans boucle
    Par waved dans le forum Langage
    Réponses: 4
    Dernier message: 16/01/2008, 10h49
  3. Débutant - problème de Boucle ou de End if
    Par jaromyr dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 30/11/2007, 15h27
  4. [Débutant]Problème de boucle infini
    Par Keldou dans le forum Octave
    Réponses: 1
    Dernier message: 21/04/2007, 18h20
  5. [VBS][Débutant] Problème syntaxe boucle For
    Par _alex_ dans le forum VBScript
    Réponses: 2
    Dernier message: 26/07/2006, 15h26

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