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 Until [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Boucle Do Until
    Bonsoir à tous,
    J'ai un petit souci avec une macro, un grand merci pour votre aide.
    Je veux récupérer des données depuis un tableau croisé dynamique. Ma macro :

    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
    46
    47
    Sub TRANSFERT()
    Dim i As Integer
    Dim a As Integer
    Dim b As Integer
    Dim valeur As String
     
    i = 3
     
    Do Until Cells(i, 4) = ""
    valeur = Cells(i, 4)
    Cells(i, 5) = trouveIW(valeur, 3) 'Stock
    i = i + 1
    Loop
     
     
    i = 3
    a = 7
    b = 4
     
    Do Until Cells(i, 4) = ""
    valeur = Cells(i, 4)
    Cells(i, a) = trouveIW(valeur, b) 'Echu + 05S11 + 06S11 + 07S11 + 08S11
     
    a = a + 1
    b = b + 1
     
    i = i + 1
     
    Loop
     
    End Sub
     
    Function trouveIW(valeur As String, colonne As Integer)
    Dim j As Integer
    Dim trouve As String
    Sheets("TCD").Select
    j = 6
    trouve = ""
    Do Until Cells(j, 1) = "" Or trouve <> ""
    If Cells(j, 1) = valeur Then
    trouve = Cells(j, colonne)
    End If
    j = j + 1
    Loop
    trouveIW = trouve
    Sheets("Tableau").Select
    End Function
    Ci-joint mon fichier Excel pour plus de détails.
    Merci encore
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    trouve = ""
    Do Until Cells(j, 1) = "" Or trouve <> ""
    Vous utilisez Or pour le test Jusqu'a ce que donc au premier test la condition est telle que la boucle n'est pas parcourue. J'essaierai avec AND
    Cordialement.

    RJ

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Do Until
    Merci pour la réponse. J'ai essayé avec AND, la macro ne marche pas.
    Merci pour votre aide
    Cordialement,
    Bruno

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Re,

    Faites la exécuter en pas à pas en mettant un point d'arrêt pour voir ce qui se passe.
    Cordialement.

    RJ

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Do Until
    J'ai passé la macro en pas à pas, j'ai trouvé mon erreur.
    Merci
    Bonne journée
    Bruno

  6. #6
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    ça pourrait être sympa pour rjamin et pour les lecteurs futurs d'indiquer quel était cette erreur

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

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

Discussions similaires

  1. [AUTOIT] Boucle 'DO .. UNTIL'
    Par Pierre750 dans le forum Autres langages
    Réponses: 3
    Dernier message: 26/11/2014, 17h53
  2. [Toutes versions] boucle Do Until
    Par zoom61 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/05/2011, 13h30
  3. [DATA] Tableaux et des boucles : do until et array
    Par maysa dans le forum SAS Base
    Réponses: 10
    Dernier message: 06/05/2011, 09h38
  4. attendre un click sur bouton dans boucle repeat/until
    Par sp2308 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/03/2011, 22h36
  5. boucle DO-> UNTIL
    Par scorpele dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 16/06/2008, 13h36

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