XL 2016 VBA : comptabilité extourner écriture

  • Initiateur de la discussion Initiateur de la discussion Yücel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Yücel

XLDnaute Junior
Bonjour,

J'aurais besoin de votre précieuse aide svp.

Vous trouverez ci-joint mon fichier excel avec ma demande. J'espère avoir été claire sinon j'essayerai de donner plus d'explication.

Je vous en remercie par avance ! 🙂
 

Pièces jointes

Bonjour,

Essayez ceci
VB:
Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    DerLig = Sheets("Journal").ListObjects("Tableau1").DataBodyRange.Rows.Count
    piece = Range("F7").Value
    For i = 10 To DerLig
        If Cells(i, "C") = piece Then
            Range(Cells(i, "B"), Cells(i, "G")).Copy Cells(DerLig + 10, "B")
            Cells(DerLig + 10, "C") = piece
            Cells(DerLig + 10, "J") = "Ext. " & Cells(i, "J")
            Cells(DerLig + 10, "K") = Cells(i, "L")
            Cells(DerLig + 10, "L") = Cells(i, "K")
            Cells(DerLig + 10, "Q") = Cells(i, "Q")
            DerLig = Sheets("Journal").ListObjects("Tableau1").DataBodyRange.Rows.Count
        End If
    Next i
End Sub

Cdlt
 
Bonjour Yucel, Rouge😉

Avec une méthode tablo mais moins structuré que ce qu'à indiqué rouge sur un tableau structuré (que j'utilise très/trop peu).

Je m'étonne sur de vieux souvenirs :
- que la colonne "B" ne soit pas classé en "OD" pour des extournes
- que le numéro de pièce reste inchangée et non incrémentée ou avec un libellé "Ext. 5"
Mais c'est un peux vieux... 😛

@+

VB:
Private Sub CommandButton1_Click()
Dim ta(), tb(), derligne&, i&, j&, m&
'-- paramétrage
derligne = Cells(Rows.Count, 3).End(3).Row
ta = Range("B10:Q" & derligne).Value
ReDim tb(1 To derligne - 9, 1 To 16)
m = 0
'--boucle tableau
For i = 1 To derligne - 9
If ta(i, 2) = Cells(7, "F") Then
    m = m + 1
    '-- pour les cellules sans modification
    A = Array(1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 15, 16)
    For j = LBound(A) To UBound(A)
    tb(m, A(j)) = ta(i, A(j))
    Next j
    '-- pour les autres cellules
    tb(m, 9) = "Ext. " & ta(i, 9)
    tb(m, 10) = IIf(ta(i, 11) = "", "", ta(i, 11))
    tb(m, 11) = IIf(ta(i, 10) = "", "", ta(i, 10))
End If
Next i
'-- restitution
Range("B" & (derligne + 1)).Resize(m, 16) = tb
End Sub
 
merci beaucoup Rose !!!!
Merci pour votre rapidité et votre qualité ! 😀

J'avais oublié de préciser encore deux petites choses (désolé j'aurais du le préciser avant).


Peut-on à la première ligne recopié (et uniquement à la première ligne recopié) mettre :

1/ Colonne C : numéro de pièce précédente +1 (pour l'incrémenté)
2/ Colonne D : mettre une croix (ce qui m'indiquera qu'il faut que j'entre une date manuellement).

Vous trouverez en PJ un exemple de ma demande.

un grand merci à vous.
 

Pièces jointes

Zebanx,

Le fichier joint n'est pas l'original par confidentialité.

Il ne faut pas toucher a la colonne B (journal) car l'écriture de base sera en OD.

Il aurait juste fallu m'ajouter à la première ligne recopié (et uniquement à la première ligne recopié) :

1/ Colonne C : numéro de pièce précédente +1 (pour l'incrémenté)
2/ Colonne D : mettre une croix (ce qui m'indiquera qu'il faut que j'entre une date manuellement).

Merci à vous deux 😀 !
 
Bonsoir Soan et bonne année et meilleurs vœux !!

Un grand merci à vous aussi 😀 en enlevant l'espace du coup tout fonctionne exactement comme je veux c'est parfait !

Merci à vous trois 😀 ainsi je clôture avec joie la discussion

Bonne continuation
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
132
Réponses
10
Affichages
311
Réponses
4
Affichages
152
Réponses
4
Affichages
282
Réponses
1
Affichages
158
  • Question Question
XL 2019 fonction
Réponses
2
Affichages
133
Réponses
2
Affichages
146
Réponses
7
Affichages
255
Réponses
40
Affichages
1 K
Réponses
4
Affichages
179
Retour