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 :

Besoin d'aide pour "Boucle"


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 300
    Par défaut Besoin d'aide pour "Boucle"
    Bonjour

    Voilà, certainement quelque chose de très simple pour les initiés, mais un peu plus compliqué pour moi.

    J'ai un tableau dont j'aimerais récupérer les données et transférer dans une autre feuille, seulement si la tache est terminée. Boucler sur chaque ligne,10 en l’occurrence, ou jusqu’à la cellule de la colonne "A" soit vide. et ensuite supprimer la ligne du tableau ou la tâche à été ventilé.

    Je n'arrive pas à boucler par rapport à mes référence. Je ne suis peut-être pas très clair donc voici le code.

    Cordialement.
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub Valide_Didier()
    '------------------------------------Rempli la feuil Base de Donnée------------------------------------------------
    
    jour = Worksheets("Didier").Range("A1").Value
    agent = Worksheets("Didier").Range("F1").Value
    e1 = Worksheets("Didier").Range("G3").Value
    e2 = Worksheets("Didier").Range("L3").Value
    demandeur = Worksheets("Didier").Range("A8").Value
    tache = Worksheets("Didier").Range("I8").Value
    reference = Worksheets("Didier").Range("K8").Value
    hd = Worksheets("Didier").Range("N8").Value
    hf = Worksheets("Didier").Range("O8").Value
    ht = Worksheets("Didier").Range("V8").Value
    tachetermine = Worksheets("Didier").Range("P8").Value
          
    
    Sheets("Recap").Select
    With Sheets("Recap")
     For i = 1 To 10 'Boucles prévues : 10
               
                'Set d = Worksheets("Didier").Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row)(2)
                Set c = .Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row)(2)
        
                'If tachetermine = "OUI" Then
                c(1, 1) = jour
                c(1, 2) = agent
                c(1, 3) = e1
                c(1, 4) = e2
                c(1, 5) = demandeur.ActiveCell.Offset(i, 0)
                c(1, 6) = tache.Offset(i, 0)
                c(1, 7) = reference.Offset(i, 0)
                c(1, 8) = hd.Offset(i, 0)
                c(1, 9) = hf.Offset(i, 0)
                c(1, 10) = ht.Offset(i, 0)
                c(1, 11) = tachetermine.Offset(i, 0)
                
                'Else
                'MsgBox "La Tâche n'est pas fini."
                'End If
                
     Next
                           
    End With
    
    End Sub

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2017
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 58
    Par défaut
    Citation Envoyé par Didpa Voir le message

    Boucler sur chaque ligne,10 en l’occurrence, ou jusqu’à la cellule de la colonne "A" soit vide. et ensuite supprimer la ligne du tableau ou la tâche à été ventilé.

    Je n'arrive pas à boucler par rapport à mes référence. Je ne suis peut-être pas très clair donc voici le code.

    Cordialement.
    Merci d'avance.
    Bonjour,

    Je débute en VBA et en programmation tout court, alors il y a certainement mieux mais voici une boucle que j'utilise pour effectuer une tâche tant que la dernière cellule de la colonne A n'est pas vide en partant de la seconde ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim ligne As Integer: ligne = 2
     
    While (ThisWorkbook.Worksheets("xxxxx").Cells(ligne, 1).Value <> "")
      ' tâche à effectuer
      ligne = ligne + 1
    Wend

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    ce genre de besoin peut déjà être facilement réalisé sans code via un filtre avancé !
    Et en utilisant un filtre avancé en VBA, moins de dix lignes de code sont nécessaires et sans boucle

    En dehors des nombreux exemples dans les discussions de ce forum :

    Les filtres avancés ou élaborés dans Excel


    Je me demande même si ici un simple filtre serait déjà largement suffisant et toujours sans boucle !

    ___________________________________________________________________________________________________________
    Je suis Paris, Barcelone, London, Manchester, Egypte, Stockholm, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

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

Discussions similaires

  1. [XL-2007] besoin d'aide pour une boucle
    Par bitissa1991 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 24/05/2016, 11h34
  2. E_03 Besoin d'aide pour une boucle
    Par La Zélie dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/01/2009, 10h07
  3. Besoin d'aide pour une boucle
    Par lenneth666 dans le forum Prolog
    Réponses: 2
    Dernier message: 27/12/2006, 15h41

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