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 à deux variables


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
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 13
    Par défaut Boucle For à deux variables
    Bonjour à tous,

    Toujours novice en VBA, je tente d'apprendre par moi même et je bloque sur quelque chose de pourtant très simple et ce n'est pas la première fois que ça m'arrive. Ne trouvant pas la réponse à ma question sur le net, je me tourne vers vous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim i as integer 
    dim k as integer
     
    For i = 2 To 2100
     
        If Cells(i, 12) = "1" Then
     
        For k = 1 To 12
     
        Cells(i, k).Interior.ColorIndex = 6
     
    Next k
    Next i

    Le but est de mettre en couleur les 12 premières colonnes en fonction d'un repère qui se trouve en colonne 12 (la colonne est composé de "1" qui est mon repère et de vide).

    Pourquoi ai-je toujours le message "Erreur de compilation Next sans For" svp ?

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    il manque le end if.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim i as integer 
    dim k as integer
     
    For i = 2 To 2100
     
        If Cells(i, 12) = "1" Then
     
            For k = 1 To 12
     
                Cells(i, k).Interior.ColorIndex = 6
     
            Next k
        end if
    Next i
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    Une mise en forme conditionnelle aurait fait l'affaire !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim i as integer 
    dim k as integer
     
    For i = 2 To 2100
     
        If Cells(i, 12) = "1" Then
     
            'For k = 1 To 12
     
                Cells(Cells(i, 1),Cells(i, 12)).Interior.ColorIndex = 6
     
    '        Next k
        end if
    Next i
    Dernière modification par Invité ; 09/05/2019 à 18h51.

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonsoir

    Autres propositions (à étudier )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub A()
      Dim R As Range
      For Each R In [L2:L2100]
        If R = 1 Then Cells(R.Row, 1).Resize(1, 12).Interior.ColorIndex = 6
      Next
    End Sub
    Et sans boucle !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub B()
       [L1:L2101].AutoFilter 1, "1"
       [A2:L2100].Interior.ColorIndex = 6
       [L1].AutoFilter
    End Sub

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 13
    Par défaut
    Bonjour !

    Merci beaucoup pour ces retours et conseils rapides !

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 13
    Par défaut
    Bonsoir,
    Une mise en forme conditionnelle aurait fait l'affaire !
    Oui je sais bien, mais la mise en forme conditionnelle était plus compliquée à coder (en tout cas pour moi ) et d'autre part, je n'ai posé la question que sur cette partie du code, mais il s'agit d'un fichier de transformation d'une extraction d'un autre logiciel. L'idée est donc de répéter l'opération en partant d'un fichier vierge et que ce soit utilisable par des personnes sachant à peine faire une somme, donc pas de mise en forme conditionnelle manuelle

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

Discussions similaires

  1. boucle for et variable dans un array
    Par ledisciple dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/05/2011, 08h07
  2. [Débutant] boucle for, récupérer variables
    Par 20905313t dans le forum Images
    Réponses: 3
    Dernier message: 06/02/2011, 18h11
  3. Addition dans une boucle For de variables incrémentées
    Par heberco dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/01/2011, 18h48
  4. Boucle For à plusieurs variables
    Par carpediem2807 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/05/2008, 22h39
  5. Boucle for et variable
    Par Krispy dans le forum Linux
    Réponses: 2
    Dernier message: 07/09/2006, 18h03

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