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 :

Probleme de boucle dans VBA Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Par défaut Probleme de boucle dans VBA Excel
    Je vous soumets ce problème que je n'ai pas su autrement décrire que par le fichier Excel que j'ai joint ..

    C'est ma première venue sur le forum ..

    Merci d'avance pour vos réponses

    Patrick
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Il faut que tu assignes une valeur à "Ws" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Ws = Sheets("Forum")
    par exemple. Je ne comprends pas ce que tu veux faire. Tu boucles sur les cellules d'une plage, mais tu ne fais nulle part référence à ces cellules.

  3. #3
    Membre confirmé Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Par défaut
    Salut Patrick

    Je pense que ceci doit te convenir

    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
     
    Private Sub CommandButton1_Click()
     
    nlignebd = Range("D65535").End(xlUp).Row
    nlignels = Range("G65535").End(xlUp).Row
     
     
    For j = 9 To nlignels
        For i = 9 To nlignebd
            nlignebdmax = Range("A65535").End(xlUp).Offset(1, 0).Row
            If Range("D" & i).Value = Range("G" & j).Value Then
                If Range("D" & i).Offset(0, 1).Value >= Range("G" & j).Offset(0, 1).Value Then
                 Range("A" & nlignebdmax).Value = Range("D" & i).Value
                 Range("A" & nlignebdmax).Offset(0, 1).Value = Range("D" & i).Offset(0, 1).Value
                End If
            End If
        Next i
    Next j
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Par défaut
    Bonjour Daniel,

    tout d'abord merci de ta réponse.
    Tu as raison je n'avais pas valorisé Ws.
    Mais ça ne marche pas quand même !!
    Est ce que je dois prendre des références absolues ou relatives ?
    Est ce que j'ai fait le bon choix de boucle ?
    Je découvre VBA ...!

    Je vais essayer de reformuler ce que je veux faire :

    étape 1 : je copie l'id dans la liste "Liste des singletons"
    étape 2 : je colle cette valeur dans la cellule A9 "id de la fonction BDMAX"
    étape 3 : je copie la valeur calculée bdmax
    étape 4 : je colle la valeur bdmax dans la colonne delta Max en face de l'id
    étape 5 : je fais ça pour chaque id de la liste "Liste des singletons"

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Est-ce que la réponse de mentat te convient ? si non, mets un classeur en pièce jointe.

  6. #6
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Par défaut
    Bonjour Mentat,

    Merci à toi aussi de ta réponse mais j'ai essayé et ça n'a rien fait ...?

    Pour répondre à Daniel j'avais joint un classeur Excel à mon premier message
    qui s'appelle Forum.xls

    Je recommence ici
    Fichiers attachés Fichiers attachés

  7. #7
    Membre confirmé Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Par défaut
    As tu bien tester avec un bouton? ou renommer le sub ?

    Je l'ai pourtant tester il me semble fonctionner...?

    Voici ton fichier avec le code et un bouton
    Fichiers attachés Fichiers attachés

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Essaie, à condition que la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =BDMAX(D8:E24;E8;A8:A9)
    soit en B9 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
        Dim c As Range
        With Sheets("Forum")
        For Each c In .Range(.[G9], .[G9].End(xlDown))
            .[A9] = c.Value
            c.Offset(, 1).Value = .[B9]
        Next c
        End With
    End Sub

  9. #9
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 12
    Par défaut
    Merci Daniel c'est exactement ça ..
    Le code est simple il me reste à finir de le comprendre.
    Pour une première fois ça fait plaisir la solidarité !!!
    A charge de revanche !

    Bonjour Mentat ..

    En fait le bouton fonctionne bien mais ne retourne pas le max pour chacun des singletons ..

    En tout cas un grand merci pour votre aide toi et Daniel.. vous m'enlevez une écharde du pied je vais pouvoir continuer !

    Patrick

  10. #10
    Membre confirmé Avatar de mentat
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Août 2009
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Electrotechnicien
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2009
    Messages : 139
    Par défaut
    Je ne sais pas... je recopie bien les id et la valeur des singletons dépassant la valeur max dans la colone A et B...

    Ou alors j'ai rien compris à ce que tu voulais faire...

    Le principal est que tu es ta solution et que tu l'es comprise...

    Bon courage pour la suite.

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

Discussions similaires

  1. Traiter 100 fichiers avec une boucle sous VBA excel
    Par sebastien06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2008, 09h39
  2. [VBA-E] probleme enregistrement fichier pour VBA excel
    Par hamster. dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/04/2007, 19h52
  3. Liste des contrôles dans VBA-Excel
    Par CAFOUIN dans le forum Excel
    Réponses: 2
    Dernier message: 23/02/2007, 17h50
  4. Name et formula dans VBA Excel
    Par khadba dans le forum Windows
    Réponses: 1
    Dernier message: 20/02/2007, 11h37
  5. [VBA-E] Compatibilité de Date dans VBA Excel
    Par dorschner dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/05/2006, 19h25

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