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 :

Code VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2023
    Messages : 2
    Par défaut Code VBA
    Bonjour à tous

    Je vous sollicite afin d'avoir une petite aide sur la mise en place d'un code VBA :

    Nom : Capture d'écran 2023-12-15 135844.png
Affichages : 134
Taille : 18,5 Ko

    Comme vous pouvez le voir sur la pièce jointe, je dois répéter le compte auxiliaire dans les cellules vides de la colonne C et cela en fonction du n°facture de la colonne A qui elle-même se répète...

    Merci d'avance,

  2. #2
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonjour

    Ce serait bien d'indiquer le code que tu as commencé pour traiter ton besoin.

    Je veux bien aider a progresser en VBA, mais pas en le faisant a ta place.

    En attente de te relire.

    Ci dessous un code brut qui traite ta demande , a comprendre et a optimiser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub Macro1()
    ' Macro1 Macro
    lignefin = Range("A" & Rows.Count).End(xlUp).Row
    For ligne = lignefin To 1 Step -1
    If Len(Cells(ligne, 3)) > 2 Then
    compteAuxilliare = Cells(ligne, 3)
    Else
    Cells(ligne, 3) = compteAuxilliare
    End If
    Next
    End Sub

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2023
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2023
    Messages : 2
    Par défaut
    Mince je pensais l'avoir insérer juste en dessous de l'image, le voici :

    Sub RepeterCompteAuxiliaire()
    Dim ws As Worksheet
    Dim lastRowA As Long
    Dim lastRowC As Long
    Dim i As Long
    Dim compteAuxiliaire As Variant
    Dim numeroFacture As Variant
    Set ws = ThisWorkbook.Sheets("Feuil8")
    lastRowA = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    compteAuxiliaire = ""
    For i = 2 To lastRowA
    If Left(ws.Cells(i, "A").Value, 1) = "F" Then
    If ws.Cells(i, "A").Value <> numeroFacture Then
    compteAuxiliaire = ws.Cells(Application.WorksheetFunction.Match("*", ws.Range("C:C"), 0), "C").Value
    numeroFacture = ws.Cells(i, "A").Value
    End If
    ws.Cells(i, "C").Value = compteAuxiliaire
    End If
    Next i
    End Sub

    ==> Seul problème, il me répète "compte auxiliaire" sur chacune des lignes...

    Cordialement,

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 946
    Par défaut
    Salut, ou je n'ai rien compris ou bien tu compliques pour rien.
    En me basant sur ta capture, la dernière cellule de ta colonne C contient une valeur.
    Je démarre donc de cette cellule vers le haut de la colonne. Si la cellule est vide, je copie le contenu de la cellule en-dessous, sinon je passe à la cellule suivante. Au final, pour le groupe de cellules ayant le même numéro de facture, j'ai le même compte auxiliaire.

    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
    Sub RepeterCompteAuxiliaire()
    Dim ws As Worksheet
    Dim lastRowC As Long
    Dim i As Long
     
    Set ws = ThisWorkbook.Sheets("Feuil8")
    lastRowC = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
     
    Application.ScreenUpdating = False
     
    For i = lastRowC To 2 Step -1
        If ws.Cells(i, "C").Value = "" Then
            ws.Cells(i, "C").Value = ws.Cells(i + 1, "C").Value
        End If
    Next i
     
    Application.ScreenUpdating = True
     
    End Sub

  5. #5
    Membre émérite Avatar de Alex020181
    Homme Profil pro
    Prestataire informatique développeur d'application Excel, Access, VBA
    Inscrit en
    Juin 2012
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Prestataire informatique développeur d'application Excel, Access, VBA

    Informations forums :
    Inscription : Juin 2012
    Messages : 584
    Par défaut
    Bonjour,

    Et en complément voici également en PJ une proposition pour le cas où tes colonnes "A" et "C" ne soient pas classées (j'ai mis le résultat en "D" pour contrôle mais bien sûr tu adaptes le code après contrôle).

    En prime en "J" la même chose par formule sous réserve que tes colonnes soient classées.

    Teste et dis nous.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 15h15
  2. Réponses: 2
    Dernier message: 27/10/2005, 16h51
  3. Réponses: 4
    Dernier message: 13/10/2005, 15h44
  4. Réponses: 3
    Dernier message: 06/09/2005, 11h27
  5. Comment creer une procédure stockée à partir d'un code VBA?
    Par Alcor020980 dans le forum Connexion aux bases de données
    Réponses: 4
    Dernier message: 24/05/2005, 20h55

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