Microsoft 365 Macro permettant de récupérer une donnée comprise sur certaines lignes particulières et pas d'autres

Céline49

XLDnaute Junior
Bonjour,
Je ne sais pas comment faire pour corriger une imperfection dans mon fichier excel. Je voudrais le programmer via une macro mais je ne sais pas du tout comment faire.

Mon problème se situe au niveau de ma colonne n° de pièces pour mes onglets Cai et Bqe car j'ai besoin de récupérer les 4 derniers chiffres situés sur certaines lignes seulement...avec le fichier et des exemples, l'espère que ce sera plus facile à comprendre !

Raison de ma demande : les n° de pièce que je conserve actuellement dans les onglets Cai et Bqe ne correspondent pas au n° de pièce contenu dans le fichier Vte (= facture de vente) ce qui ne me permets pas de pouvoir les rapprocher facilement....

Contrainte : il me faut absolument un numéro de pièce identique pour toute l'écriture (en général qui comprends 2 lignes...mais peut également en contenir davantage)

Voici un exemple dans le fichier de ce que je voudrais, identifié en rouge

Mon besoin est-ce réalisable via une macro?? Si oui quelqu'un peut-il m'aider
 

Pièces jointes

  • Intégration vente (Correction).xlsm
    84.4 KB · Affichages: 13

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Celine,
Dans votre code TabTemp(i, 7 ou 8) peut être vide, en particulier dans la page Vte, d'où l'erreur générée. Une possibilité de modification de code :
VB:
                    If i > 1 Then
                        If Not IsEmpty(TabTemp(i, 7)) Then _
                            TabTempBis(i, 5) = CDbl(Replace(TabTemp(i, 7), ".", ",")) ' Débit
                        If Not IsEmpty(TabTemp(i, 8)) Then _
                            TabTempBis(i, 6) = CDbl(Replace(TabTemp(i, 8), ".", ",")) ' Crédit
                    Else
                        If Not IsEmpty(TabTemp(i, 7)) Then _
                            TabTempBis(i, 5) = TabTemp(i, 7) ' Débit
                        If Not IsEmpty(TabTemp(i, 8)) Then _
                            TabTempBis(i, 6) = TabTemp(i, 8) ' Crédit
                    End If
Je ne sais pas si ça marche, mais il n'y a plus d'erreur.
Attention page BQE pousser le commentaire en rouge à droite de façon à ne pas avoir de chaine de caractères dans les colonnes 7 et 8.
 
Haut Bas