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 for imbriquée


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
    Technicien maintenance
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Par défaut Boucle for imbriquée
    Bonjour,

    J'ai 12 colonnes et je cherche à remplir la premiere ligne de chaque colonne avec la somme de production des lignes en dessous

    6 8 10 ...

    1 4 5 ...
    2 0 2 ...
    3 4 3 ...

    Voici mon code:

    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
    Sub TOTAL()
     
    Dim i As Integer
    Dim j As Integer
    Dim prod As Double
     
     
    For i = 1 To 2000 Step 1
     
     
       If Range("C" & i) = "Puissance" Then
     
     For j = 1 To 12 Step 1
     
         prod = Cells(i , j).Value + prod
     
      End If
     
    Next i
     
       Next j
     
     Cells(1, j).Value = prod
     
    End Sub
    Rien n'y fait je perds la boule... quelqu'un pourrait m'éclairer SVP?

  2. #2
    Membre chevronné
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Par défaut
    Pourquoi vba ?

    Si on fait la somme d'une colonne... La fonction somme d'excel fait le travail et il suffit de la recopier à gauche sur les 12 colonnes :
    Nom : Capture.JPG
Affichages : 1865
Taille : 23,8 Ko

    Cordialement
    geogeo

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    La fonction d'excel SOMME.SI ne te convient pas?

  4. #4
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Par défaut
    Le but est d'utiliser une boucle for imbriqué ou quelquechose du genre...

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le but est d'utiliser une boucle for imbriqué ou quelquechose du genre...
    Pour y voir plus clair dans ton code, je te suggère de mieux nommer tes variables. J & I prêtent à confusion.
    Pour les colonnes et les lignes, j'utilise Row et Column ou R & C mais si tu préfères le français Ligne, Colonne ou L et C. Lors de la relecture de ton code et pendant la maintenance c'est beaucoup plus simple pour s'y retrouver.

    De plus, ce n'est pas une bonne idée de typer comme Integer une variable qui représente des lignes. Il y a plus de 32 767 lignes dans une feuille excel

    Voici un petit exemple où le résultat de la somme des colonnes B à G (sans conditions) est écrit en colonne A de chaque ligne (Attention la procédure écrit dans la feuille active)
    La procédure boucle de la ligne 2 à 6 et la boucle des colonnes de 1 à 6 mais comme il y addition de 1 il s'agit bien des colonnes 2 à 7 (B:G)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub t()
     Dim C As Integer, R As Long
     Dim Sum As Double
     For R = 2 To 6
      For C = 1 To 6
        Sum = Sum & Cells(R, 1 + C).Value
      Next C
      Cells(R, 1).Value = Sum: Sum = 0
     Next R
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2014
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2014
    Messages : 39
    Par défaut
    je viens de réussir avant de voir ta réponse. Mon problème était que je commençais par le For i= alors qu'il fallait que je commence par le For j= ...

    Mais merci beaucoup Philippe pour ce code, en effet c'est beaucoup plus clair...

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    e viens de réussir avant de voir ta réponse. Mon problème était que je commençais par le For i= alors qu'il fallait que je commence par le For j= ...
    Ton problème était bien plus grave que cela et je doute même que tel que tu l'as affiché il ne t'ai pas renvoyé une erreur "End If sans bloc If" et il n'y avait pas que cela
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Boucles for imbriquées
    Par The eye dans le forum ASP
    Réponses: 2
    Dernier message: 19/07/2007, 13h00
  2. Boucle for imbriqué
    Par boula dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/07/2007, 13h42
  3. 2 boucles for imbriquées
    Par karimphp dans le forum Langage
    Réponses: 8
    Dernier message: 02/12/2006, 15h46
  4. Batch - Deux boucle For imbriquées plus un FC
    Par Lorponos dans le forum Windows
    Réponses: 17
    Dernier message: 27/07/2006, 15h58
  5. [Syntaxe] Boucle For imbriquées en 1.5
    Par Piolet dans le forum Langage
    Réponses: 5
    Dernier message: 09/01/2005, 01h49

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