Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Transfère de lignes via une macro sur une autre feuille de mon classeur

Tiftouf

XLDnaute Nouveau
Bonjour à tous,

Débutant en VBA, mon entreprise me demande de mettre au point un fichier de facturation automatisé.

Le fichier à bien avancé, cependant je reste bloqué sur deux points qui sont nécessaires à la bonne marche de ce dernier :

1) je souhaite pouvoir transférer les lignes de chaque factures vers la feuille de saisies pour ainsi la faire basculer dans l'onglet caisse.

2)Dans cet onglet caisse, je souhaite pouvoir avoir en fonction de l'onglet date de paiement (non renseigné), avoir l'ensemble des factures encore en attente.

D'avance merci pour votre aide

PS : fichier présenté en codir lundi je compte sur votre réactivité
 
Dernière édition:

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

J'ai juste une dernière question afin d'alimenter un onglet débit ou crédit en fonction du signe sur la fiche de saisie comment faire ?

Modifier ton fichier exemple en conséquence.

avec un exemple de la situation de départ et du résultat que tu veux obtenir.
 

Tiftouf

XLDnaute Nouveau
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Ok merci, et pour le fait que la macro ne transfère pas l'ensemble des données de mon fichier de facturation, peux tu m'éclairer (macro incomplète ?)

Merci
 

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Tout est déjà expliqué dans la macro, non ?
(voir les commentaires en vert dans celle-ci)
Relire mon message de 9h58.

J'attends ta pièce jointe modifiée (qui inclut un onglet Débit et un onglet Crédit)
 

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Tu as cherché à comprendre ce que veut dire le 5 dans la ligne ci-dessous
.Cells(j, "B").Resize(, 5).Copy Sheets("SAISIE").Range("A65536").End(xlUp)(2)

Change ce 5 avec le nombre de colonnes adéquat.

(Post scriptum; ton fichier n'a pas été joint)
 

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

NomsFeuilles = Array("BLV") ' ici mettre le nom des feuilles concernées
J'ai pourtant mis le nom feuille au pluriel

Si tu mets une seule feuille, tu n'auras les valeurs que d'une seule feuille
ici la feuille BLV.

Si tu veux toutes les feuilles, remplir NomsFeuilles avec le nom de toutes les feuilles.
 

Tiftouf

XLDnaute Nouveau
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Oui je l'ai bien compris mais le fichier sera scinder selon les différents secteurs, je devrait donc répéter cette macro pour chaque établissement.
 

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Ma macro a été faite pour répondre à :
1) je souhaite pouvoir transférer les lignes de chaque factures vers la feuille de saisies pour ainsi la faire basculer dans l'onglet caisse.

Maintenant si tu changes les conditions en cours de route, il faut une autre macro.

Quel est donc le problème alors avec le code que je t'ai proposé ?

Avec
.Cells(j, "B").Resize(, 11).Copy Sheets("SAISIE").Range("A65536").End(xlUp)(2)

Je récupère les commentaires
 
Dernière édition:

Tiftouf

XLDnaute Nouveau
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Aucun problème la modification d'une nombre de colonne est bonne, j'aimerais juste savoir comment faire apparaitre mes facture soit en débit soit en crédit ?
De plus, est il possible de mettre en évidence les factures encore ouvertes.

Ps : ta macro est super et tu m'as beaucoup aidé et je t'en remercie
 

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Alors ????
Pourquoi avais-tu poster ce message ?
Ci joint ma pièce modifiée comme tu le remarquera, toutes les données ne sont pas transférer.

Encore une fois
J'ai juste une dernière question afin d'alimenter un onglet débit ou crédit en fonction du signe sur la fiche de saisie comment faire ?

Modifie ta pièce jointe de telle sorte que tes données exemples fassent appraitre ce "signe".
Ce qui n'est pas le cas actuellement.
 

Tiftouf

XLDnaute Nouveau
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

J'ai posté ce message avant que tu m'expliques la signification du chiffre 5 dans ta macro

Concernant le champs débit et crédit je t'ai mis des opération en -.

Merci
 

Pièces jointes

  • Copie de Test_V3 (2).zip
    66.5 KB · Affichages: 22

TempusFugit

XLDnaute Impliqué
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Essaies cette macro modifiée pour le débit et crédit

Code:
Sub Transfert_BLV2()
Dim NomFeuilles, i As Byte, j As Long, a As Range
NomsFeuilles = Array("BLV") ' ici mettre le nom des feuilles concernées
For i = 0 To UBound(NomsFeuilles)
With Sheets(NomsFeuilles(i))
For j = 14 To 88
If Not .Cells(j, "C") Like "Code" Then
Set a = Sheets("SAISIE").Range("A65536").End(xlUp)(2)
.Cells(j, "B").Resize(, 11).Copy a
a.Offset(, (IIf(.Cells(j, "I") < 0, 10, 12))) = .Cells(j, "I")
Set a = Nothing
End If
Next j
End With
Next i
End Sub

Si tu as des questions concernant le code, n'hesites pas.
 

Tiftouf

XLDnaute Nouveau
Re : Transfère de lignes via une macro sur une autre feuille de mon classeur

Parfait franchement je te remercie beaucoup pour ton aide et ta patience ça marche nikel désolé si je n'ai pas toujours était très clair...

Encore merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…