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 :

Creation boucle vba excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Par défaut Creation boucle vba excel
    Bonjour, j'ai créer ce code mais j'aimerais que au lieu d'a chaque fois changé B2,B3,B4 etc que le code fasse la recherche dans la colonne entière et puis sélectionné le type de conducteur !
    Pouvez vous m'aidez ? merci d'avance
    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 Evaluation()
     
      'Statut du conducteur
       If Range("B2").Value >= 9 And Range("B1").Value < 10 Then
          Range("J2").Value = " très bon conducteur par les passagers"
     
     ElseIf Range("B2").Value >= 7 And Range("B1").Value < 9 Then
              Range("J2").Value = "bon conducteurs"
     
       ElseIf Range("B2").Value >= 5 And Range("B1").Value < 7 Then
              Range("J3").Value = "comme conducteur moyen par les passagers"
     
       ElseIf Range("B2").Value < 5 And Range("B1").Value >= 3 Then
              Range("J2").Value = " comme mauvais conducteur par les passagers"
     
       ElseIf Range("B2").Value = 10 Then
              Range("J2 ").Value = " le top du top !"
     
        Else
               Range("J2").Value = " comme très mauvais conducteur par les passagers"
     
       End If
       MsgBox "Ce conducteur a été jugé"
     
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Salut gaever,

    Pas testé le code ci-dessous, mais, pour ce que tu demandes, j'espère qu'il n'y aura pas d'erreur !
    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
    Sub Evaluation_gaever()
     
    With Worksheets("Ma feuille d'évaluation")
        Set rng = .Range("B1")
     
        For i = 1 To .Columns(2).Find("*", , , , , xlPrevious).Row - 1
            'Statut du conducteur
            If rng.Offset(i, 0) >= 9 And rng.Offset(i - 1, 0).Value < 10 Then
                rng.Offset(i, 8) = " très bon conducteur par les passagers"
     
            ElseIf rng.Offset(i, 0).Value >= 7 And rng.Offset(i - 1, 0).Value < 9 Then
                rng.Offset(i, 8).Value = "bon conducteurs"
     
            ElseIf rng.Offset(i, 0).Value >= 5 And rng.Offset(i - 1, 0).Value < 7 Then
                rng.Offset(i, 8).Value = "comme conducteur moyen par les passagers"
     
            ElseIf rng.Offset(i, 0).Value < 5 And rng.Offset(i - 1, 0).Value >= 3 Then
                rng.Offset(i, 8).Value = " comme mauvais conducteur par les passagers"
     
            ElseIf rng.Offset(i, 0) = 10 Then
                rng.Offset(i, 8).Value = " le top du top !"
     
            Else
                rng.Offset(i, 8).Value = " comme très mauvais conducteur par les passagers"
     
            End If
        Next i
    End With
     
    End Sub
    Si ça ne compile pas ou que j'ai mal compris ta demande, n'hésite pas à revenir vers moi.

    Cordialement,
    Kimy

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Par défaut
    Bonjour !
    Merci d'avoir répondu mais malheureusement le code ne fonctionne pas
    Nom : Capture d’écran 2014-12-11 à 18.00.14.png
Affichages : 150
Taille : 93,4 Ko
    Voici ma feuille excel, j'aimerais créer un code VBA pour que en fonction de la note d'évaluation il y ai un commentaire dans une autre case ! j'ai déjà écrit ce code la mais il ne le fait que pour la case sélectionné dans range("B2") et j'aimerais que au lieu de a chaque fois changer cette case que il y ai une boucle pour que il le fasse lui même ! j'espère que j'ai pas trop été confu dans mon explication.
    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 Evaluation()
     
      'Statut du conducteur
       If Range("B2").Value >= 9 And Range("B1").Value < 10 Then
          Range("J2").Value = " très bon conducteur par les passagers"
     
     ElseIf Range("B2").Value >= 7 And Range("B1").Value < 9 Then
              Range("J2").Value = "bon conducteurs"
     
       ElseIf Range("B2").Value >= 5 And Range("B1").Value < 7 Then
              Range("J3").Value = "comme conducteur moyen par les passagers"
     
       ElseIf Range("B2").Value < 5 And Range("B1").Value >= 3 Then
              Range("J2").Value = " comme mauvais conducteur par les passagers"
     
       ElseIf Range("B2").Value = 10 Then
              Range("J2 ").Value = " le top du top !"
     
        Else
               Range("J2").Value = " comme très mauvais conducteur par les passagers"
     
       End If
       MsgBox "Ce conducteur a été jugé"
     
    End Sub

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Et ça ?
    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
    Sub Evaluation_gaever()
     
    With Worksheets("Ma feuille d'évaluation")
        Set rng = .Range("B1")
     
        For i = 1 To .Columns(2).Find("*", , , , , xlPrevious).Row - 1
            'Statut du conducteur
            If rng.Offset(i, 0) >= 9 And rng.Offset(i, 0).Value < 10 Then
                rng.Offset(i, 8) = " très bon conducteur par les passagers"
     
            ElseIf rng.Offset(i, 0).Value >= 7 And rng.Offset(i, 0).Value < 9 Then
                rng.Offset(i, 8).Value = "bon conducteurs"
     
            ElseIf rng.Offset(i, 0).Value >= 5 And rng.Offset(i, 0).Value < 7 Then
                rng.Offset(i, 8).Value = "comme conducteur moyen par les passagers"
     
            ElseIf rng.Offset(i, 0).Value < 5 And rng.Offset(i, 0).Value >= 3 Then
                rng.Offset(i, 8).Value = " comme mauvais conducteur par les passagers"
     
            ElseIf rng.Offset(i, 0) = 10 Then
                rng.Offset(i, 8).Value = " le top du top !"
     
            Else
                rng.Offset(i, 8).Value = " comme très mauvais conducteur par les passagers"
     
            End If
        Next i
    End With
     
    End Sub

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2014
    Messages : 8
    Par défaut
    J'ai ce message qui apparait ...

    Nom : Capture d’écran 2014-12-15 à 10.58.22.png
Affichages : 133
Taille : 20,9 Ko

  6. #6
    Membre émérite
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Par défaut
    Bonjour,
    Essayes ce code, mais avant il faut renommer ta feuille EVALUATION ou remplacer EVALUATION dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set eval = ThisWorkbook.Sheets("EVALUATION")
    par le nom de ta feuille
    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
    Option Explicit
     
    Sub Evaluation()
    Dim eval As Worksheet
    Dim i As Integer
    Set eval = ThisWorkbook.Sheets("EVALUATION")
    i = 2
     
       Do While eval.Cells(i, 2) <> ""
       eval.Cells(i, 2).Select
     
                        If eval.Cells(i, 2) >= 9 And eval.Cells(i, 2) < 10 Then
                        eval.Cells(i, 10) = "très bon ...."
                        ElseIf eval.Cells(i, 2) = 10 Then
                        eval.Cells(i, 10) = "Top du Top"
                        ElseIf eval.Cells(i, 2) >= 7 And eval.Cells(i, 2) < 9 Then
                        eval.Cells(i, 10) = "Bon "
                        ElseIf eval.Cells(i, 2) >= 5 And eval.Cells(i, 2) < 7 Then
                        eval.Cells(i, 10) = "Moyen"
                        Else
                        eval.Cells(i, 10) = "Mauvais"
                        End If
                        i = i + 1
                 MsgBox "Ce conducteur a été jugé"
     
     
     
         Loop
     
    End Sub
    Eric
    "Vous n’avez cessé d’essayer ? Vous n’avez cessé d’échouer ? Aucune importance !
    Réessayez, échouez encore, échouez mieux." Samuel Beckett
    Pensez aux balises et
    Visitez les FAQ Excel et allez faire un tour ici
    Tutoriels de SilkyRoad

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

Discussions similaires

  1. Boucle VBA Excel
    Par BENNASR dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/11/2014, 14h13
  2. Boucles VBA Excel
    Par Sniper69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/11/2014, 23h13
  3. boucle vba excel
    Par nadeson dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 06/06/2012, 09h29
  4. Boucle VBA excel
    Par RICO_85 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/03/2011, 17h00
  5. Boucles vba Excel
    Par viscere dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/07/2007, 07h07

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