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 :

Boucles avec mon code


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 72
    Points
    72
    Par défaut Boucles avec mon code
    Bonjour,
    J'ai une question en VBA (Je vous ai mis en piece jointe mon classeur avec mon code) en fait ce que je souhaiterais c'est que pour chaque ligne si le nom du client est le même dans le première et la cinquième colonne je déduis le montant de la déduction et la deduction de ce même montant. Par exemple pour le client AC on fait pour la première ligne 1
    12000000-1200-1300-1130=119996370 et les des déductions de AC sont de 0. Mais si si le montant de la déduction est supérieur au montant alors on doit avoir le résidu dans la colonne déduction. J'ai commencé une macro mais çà ne marche pas du tout. Merci d'avance de votre aide.

    Merci.
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Je me suis un peu penché sur ton problème et essaye ceci...
    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
    Dim BB() As Boolean
    Sub Macro1()
    Dim i As Integer, Tot As Double, g As Integer
    Dim LignDep As Integer, LignFin As Integer
    Dim Nom As String
     
    LignDep = 4: LignFin = 13 'N° et  nombre de ligne à adapter
    ReDim BB(4 To 13) 'suivant le nombre de lignes à adapter
        Sheets("analyse").Select
        'recherche les noms
        For i = LignDep To LignFin
            If Not BB(i) Then 'ce nom n'a pas encore été traiter
                Nom = Cells(i, 1).Value
                For g = LignDep To LignFin ' cherche le montant total à déduire
                    If Cells(g, 1).Value = Nom Then
                        'met le montant non modifié dans la cellule TB2
                        Cells(g, 10).Value = Cells(g, 2).Value
                        BB(g) = True
                    End If
                    If Cells(g, 5).Value = Nom Then
                        Tot = Tot + Cells(g, 6).Value
                        Cells(g, 14).Value = 0
                    End If
                Next g
                Cells(i, 10).Value = Cells(i, 2).Value - Tot
                Tot = 0
            End If
        Next i
    End Sub
    J'ai testé sur tes TB et ça a l'air de fonctionné
    A+

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Citation Envoyé par arnold95 Voir le message
    Mais si si le montant de la déduction est supérieur au montant alors on doit avoir le résidu dans la colonne déduction.
    Je n'ai pas adapter cette dernière condition mais tu devrais pouvoir l'ajouter.
    A+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 163
    Points : 72
    Points
    72
    Par défaut
    Merci pour ton aide LeForestier, je vais essayé de l'adapter, car j'ai testé ce que tu m'as envoyé il y a encore quelques problèmes. Je mets en pièce jointe, un second fichier avec un exemple et les étapes que devrait suivre VBA et le résulat final que nous devrions obtenir suite au lancement de la procédure.
    Merci beaucoup.
    Fichiers attachés Fichiers attachés

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    J'ai fait en fonction du premier fichier que tu a soumis et les résultats sont absolument identiques à ce que tu demandais, maintenant si tu change la donne..., je t'ai donné une piste pour réaliser ce que tu veux, travail un peu....
    A+

Discussions similaires

  1. Probleme avec mon code : Comment changer de JPanel
    Par serialkilled dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/12/2006, 10h13
  2. [Tableaux] probleme avec mon code pour faire un parseur !
    Par Joe-La-Boule dans le forum Langage
    Réponses: 10
    Dernier message: 11/10/2006, 15h35
  3. Problème avec mon code et avec gcc
    Par JavaAcro dans le forum Linux
    Réponses: 3
    Dernier message: 13/06/2006, 22h47
  4. [Conception] soucis avec mon code de recherche par un ou plusieurs critères
    Par jolipepage75 dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 11/06/2006, 02h59
  5. Serveur/Client UDP: comment envoyer un fichier avec mon code
    Par danje dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/12/2005, 14h54

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