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 Do While


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut Boucle Do While
    Hello,

    Étant débutant en VBA, je m'en remet a vous pour solutionner mon problème. Celui ci se trouve dans une boucle "Do While". Ce que je veux faire est extraire des toutes les 10 valeurs d'une liste et les copier dans une colonne voisines. Voici le code (c'est pas de la haute voltige mais c'est mes premiers pas):
    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
    Sub Axe_y()
    Dim i As Double, debuty As Double, finy As Double, j As Double
     
     
    i = 1
    Do While (ActiveSheet.Cells(i, 8) <> "I Stack")
       i = i + 1
    Loop
    debuty = i + 1      'stockage de la première valuer dans debut
     
     
    i = debuty + 1
    Do While (ActiveSheet.Cells(i, 8) <> "")        'recherche de la fin quand la case est vide
        i = i + 1
    Loop
    finy = i        'stockage de la valeur de fin dans finy
     
    Columns(18).Select      'mise au format standard
        Selection.NumberFormat = "General"
    Columns(16).Select
        Selection.NumberFormat = "General"
     
    i = 1
    For i = 1 To finy       'copie toutes les 10valeurs de la 8ième colonne dans la 16ième colonne
        ActiveSheet.Cells(debuty + i - 1, 16) = ActiveSheet.Cells((debuty + i - 1), 8)
        i = i + 10
    Next
     
    ActiveSheet.Cells(debuty, 18) = "I Stack"       'inscription dans la cellule
     
    i = 1
     
    For j = 1 To finy       'suppression des espaces entre les valeures
        Do While (ActiveSheet.Cells(i, 16) = "")
        i = i + 1
        Loop
        ActiveSheet.Cells(debuty + j, 18) = ActiveSheet.Cells(i, 16)
        i = i + 1
    Next
     
    End Sub
    Le probleme vient du dernier Do While. Je pense qu'il devrait y avoir une condition (exemple: >, < ou <>) mais dans ce cas je ne vois pas la suite...

    Merci de vos reponses

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim LastLig As Long, Deb As Long, i As Long
    Dim c As Range
     
    LastLig = Range("H65536").End(xlUp).Row
     
    Set c = Range("H1:H" & LastLig).Find("I Stack", LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious)
    If Not c Is Nothing Then
        Deb = c.Row + 1
        For i = Deb To LastLig Step 10
            Cells(i, 16) = Cells(i, 8)
        Next i
    End If

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 2
    Par défaut
    Ok Sa marche!!!
    Merci a toi

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

Discussions similaires

  1. Boucle Do ..while
    Par parp1 dans le forum Général Python
    Réponses: 2
    Dernier message: 11/06/2006, 13h32
  2. Réponses: 13
    Dernier message: 20/03/2006, 16h26
  3. [VBA] Boucle Do While
    Par jmde dans le forum Access
    Réponses: 4
    Dernier message: 16/10/2005, 20h23
  4. probleme de recordset dans une boucle do while
    Par Shoryu dans le forum ASP
    Réponses: 18
    Dernier message: 05/07/2004, 15h30
  5. Appel recurssif et boucle Do...While
    Par zsoh dans le forum Langage
    Réponses: 6
    Dernier message: 31/05/2004, 18h01

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