Je suis débutant en Vba-excel et c’est grâce aux tuto disponible sur YouTube qui m’a permis de familiariser a ce outils de travail exceptionnel Vba. J’ai donc télécharger l’un de fichier Facture-archivage et sur ce, j’ai appliquer selon ma structuration de projet. Mais j’ai rencontrer un souci sur le code Vba pendant l’archivage et réinitialisation de la feuille facture. Une fois archiver et les contenus est revers sur la feuille historique Ok ; mais les formules disparaisse aussitôt sur la feuille facture en archivant les données
Souhaiterais avoir une canalisation de votre parts
Ici on cherche un numéro de ligne et non une valeur :
For Each Item In Sheets(« Facture »).Range(« A13:E28 »)
If Item.Value = « » Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne = Sheets(« Historique_facture »).Range(« A2 »).End(xlDown).Row + 1
ligne_origine = Item.
La dernière ligne :
ligne_origine = Item.
mettre
ligne_origine = Item.Row
Comme ceci :
For Each Item In Sheets(« Facture »).Range(« A13:E28 »)
If Item.Value = « » Then
'ne rien faire
Else
'archiver le contenu de la ligne
ligne = Sheets(« Historique_facture »).Range(« A2 »).End(xlDown).Row + 1
ligne_origine = Item.Row
Pour la suppression des données on nettoies uniquement les cellules qui contiennent une donnée en dur non une cellule qui porte une donnée issu d’une formule
En d’autres terme on ne touche jamais une cellule avec une formule sauf pour supprimer celle-ci ou pour la modifier
Dans le cadre d’une remise à zéro n’intervenir que sur les cellules sans formule
Stp. Une dernière précision si je souhaiterais ajouter deux lettres suivant du numéro de ma facture sheets(« Facture »).Range(« A6 »).Value = Sheets(« Facture »).Range(« A6 »).Value + 1
en ajouter deux lettre comme cici (1024-FC) quel code pu-je m’applique …
merci
Si j’ai bien compris tu souhaites incrémenté une donnée numérique en A6 et rajouter 2 lettres en fin
Tu peux mettre comme ceci mais pour pouvoir toujours incrémenter les suivante à mettre le résultat final compteur et 2 lettres en A7 sinon tu ne pourras plus sans bidouiller incrémenter
J’ai en A6 100
je souhaite incrémenter :
Range (« A6 »)+1 soit 100+1 = 101
Je souhaite associer 2 lettres : FC
Résultat en A7 en mettant comme ceci :
Range(« A7 »).Value = Range(« A6 ») & « -FC » soit 101-FC
Si tu mets ce résultat en A6 (101-FC) la prochaine incrémentation en l’état échouera car cela donnera 101-FC+1
Sinon il faut bidouiller et mettre par exemple :
Range(« A6 »).Value = Replace(Range(« A6 »),« FC »,"")+1 & « -FC »
Ainsi dans la somme je supprime le FC et donc elle peut se faire que je rajoute en fin
Bonjour FFO,
je reviens une fois de plus vers toi.
sur mon fichier facture en pièce jointe, après la correction que tu as apporté dessus tout marche super mais l’arrivage du facture devers sur la feuille historique OK , alors ces donnés se multiplie plusieurs dans chacune de colonne voir le montant net à payer de facture N° 49922, alors je souhaite réaliser un tableau croisé dynamique pour récupérer le montant de chaque opérations dans la colonne Net à payer
Bonjour
Difficile de te comprendre
Tu as un problème sur l archivage de tes factures (duplication anormale sur plusieurs lignes mais avec quelle manipulation bien vouloir me préciser l action réalisée) ou tu souhaites mettre en place un TCD ?
C’est à dire après l’archivage sur la feuille d’historique les colonnes (Net à payer; Montant; Prix ; Quantité; récupèrent bien les données correspondante mais aussitôt ça duplique alors, normalement sa devais donné juste que le prix par exemple 80 000 ; Montant 240000 et non sur lignes les ligne suivantes.Fichier@.xlsm (65,7 Ko)
Une petite correction apportée et ça roule !!!
Testes cette nouvelle version ci-jointe et dis moi
Il y a une facture toute prête à être archivée pour le besoin (49923)
Dans l’attente de ton retour