Microsoft 365 Envoyé donnée formulaire vers un autre classeur avec condition date

  • Initiateur de la discussion Initiateur de la discussion Piksaw
  • 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 !

Piksaw

XLDnaute Junior
Bonjour a tous,

voila ce que je cherche a faire

J'ai un fichier qui s'appelle "Facture"avec un formulaire et je souhaite remplir le formulaire et envoyé les donnée via une macro vers un autre fichier excel
qui s'appelle " débiteur"

jusqu'a la rien de bien compliquer sauf que, dans mon classeur débiteur il y a un onglet pour chaque mois (janvier, février, mars...)

et je souhaiterais via un code via lui dire regarde dans la cellule date du formulaire et envoie les donnée dans l'onglet correspondant au bon mois du classeur débiteur et vide le formulaire
 

Pièces jointes

Bonsoir
Plutôt orienté VBA , lorsque je regarde tes fichiers je serais parti sur un USF pour tes factures c'est quand même plus aisé à gérer !! car il est plus facile de traiter une Box qu'une cellule ( adresse à trouver etc .. ?)
Pour ton cas on récupère la date > le mois et on renvoie au bon endroit !
A toi de revoir ton projet !
A moins que quelqu'un se décarcasse avec ce que tu as ?
 
Bonsoir
Plutôt orienté VBA , lorsque je regarde tes fichiers je serais parti sur un USF pour tes factures c'est quand même plus aisé à gérer !! car il est plus facile de traiter une Box qu'une cellule ( adresse à trouver etc .. ?)
Pour ton cas on récupère la date > le mois et on renvoie au bon endroit !
A toi de revoir ton projet !
A moins que quelqu'un se décarcasse avec ce que tu as ?
Hello herve62

ça à l'air interessant ce que tu propose USF ? je vais me renseigné je ne vois pas ce que c'est

quand tu parle de rechercher une facture plus aisément c'est à dire ? avec une fonction recherche qui me permettrai d'aller rechercher par exemple une facture payé en fonctionne de son numéro pour lui inscrire ça date de paiement sans avoir besoin de fouiller dans la base de données ?


je me pose aussi la question si ça ne serait pas plus simple d'avoir une base de donnée annuel et ensuite aller chercher dans cette base pour fractionner par mois ?
 
Bonsoir

je me pose aussi la question si ça ne serait pas plus simple d'avoir une base de donnée annuel et ensuite aller chercher dans cette base pour fractionner par mois ?
Bingo!
Voilà une solution qu'elle est bonne ! 😉
Et pour fractionner par mois, tu utilises un TCD
(Tableau Croisé Dynamique)

NB: Pour info => USF = userform
 
Bonsoir


Bingo!
Voilà une solution qu'elle est bonne ! 😉
Et pour fractionner par mois, tu utilises un TCD
(Tableau Croisé Dynamique)

NB: Pour info => USF = userform
Top je te remercie pour ton aide je vais me pencher là dessus et voir quelque vidéo concernant les tableaux croisé comment ça fonctionne et je reviens ici poster mon travail 👍🏻

Est ce que tu aurai une vidéo qui expliquerai comme faire un formulaire userform avec possibilité de rechercher et modifier des infos entrée dans la base de donnée
 
Bonsoir Jean Marie
Oui un TCD , mais c'est de la gestion
Là il me semble qu'il faille D'ABORD envoyer les infos dans l'autre fichier d'après ce qu'il dit non ????
Sinon tu lui fabriques ton TCD et c'est fini .. non ?
 
Bonsoir Herve62

Je ne fabrique rien
Ma philosophie c'est d'inciter le demandeur à mettre les mains dans le cambouis pour participer à la résolution de sa question.
(je l'ai assez écris sur XLD 😉)
Sans oublier mon fameux principe KISS

Allez au plus simple
Donc une feuille en guise de base de données
Ensuite on utilise des TCD (ou PowerQuery) pour faire des extracts
Et on saupoudre de VBA pour par exemple envoyer ces TCD par mails
(RangeToMail)
Etc..
Ou pour faire une copie en PDF de ce dont on a besoin et là aussi envoi par mail.
 
Bonsoir Herve62

Je ne fabrique rien
Ma philosophie c'est d'inciter le demandeur à mettre les mains dans le cambouis pour participer à la résolution de sa question.
(je l'ai assez écris sur XLD 😉)
Sans oublier mon fameux principe KISS

Allez au plus simple
Donc une feuille en guise de base de données
Ensuite on utilise des TCD (ou PowerQuery) pour faire des extracts
Et on saupoudre de VBA pour par exemple envoyer ces TCD par mails
(RangeToMail)
Etc..
Ou pour faire une copie en PDF de ce dont on a besoin et là aussi envoi par mail.
Je vais me pencher sur le côté gestion,
Merci pour vos idée
Parcontre c’est vrai que quand j’aurai fini le côté gestion il faudrai que depuis un userform je puisse envoyer les donnée dans la base de donnée qui sera sur un autre classeur Excel

Je sens que je vais m’amuser semaine prochaine à réaliser un truc sympa et je viendrai poster mon avancement
 
Re

Pourquoi un autre fichier Excel?
Excel permet d'avoir plusieurs onglets dans le même classeur
Ce qui simplifie bien les choses 😉
oui je me suis dit la même chose, je vais mettre le formulaire dans le même classeur, ce sera plus simple effectivement, à la base je voulais séparer pour une question de confidencialité, je ne voulais pas que la personne qui rentre les facture via le formulaire aie accès a l'historique des facture et dans la même foulée avoir l'historique de la somme total des montant mais je peut mettre une protection de la feuille avec mot de passe donc ça pourrai palier au problème
 
Re

mais je peut mettre une protection de la feuille avec mot de passe donc ça pourrai palier au problème
Oublie
Il suffit de moins de 7 secondes et 2 dixièmes pour outrepasser la protection Excel.
Et il suffit de l'ogre G..gle pour trouver comment faire

A partir du moment où la personne rentre les factures, elle connait les montants, non ?
Donc rien ne l'empêche d'ouvrir un second classeur de faire des copier/coller
de copier les sommes dans Word
de faire des copies d'écran
de prendre l'écran en photo avec son portable
etc...
😉
 
Re


Oublie
Il suffit de moins de 7 secondes et 2 dixièmes pour outrepasser la protection Excel.
Et il suffit de l'ogre G..gle pour trouver comment faire

A partir du moment où la personne rentre les factures, elle connait les montants, non ?
Donc rien ne l'empêche d'ouvrir un second classeur de faire des copier/coller
de copier les sommes dans Word
de faire des copies d'écran
de prendre l'écran en photo avec son portable
etc...
😉
Oui c’est vrai, vu comme ça 😅
 
Hello a tous 🙂

j'ai un peu avancer mon fichier

j'ai créer un formulaire (sans UserForm) ou j'ajouterais simplement un bouton macro pour envoyé les donnée dans la base de donnée, ce coté la c'est bon.


ensuite j'ai créer une seul base de donnée annuel mais....

maintenant ce que j'aimerais faire c'est modifier le code qui se trouve dans la feuille facture en retard qui ne fonctionne plus :-( pour lui dire va chercher les facture en retard uniquement dans l'onglet base de donnée facture.

et la deuxième chose ce serait se savoir comment dire via une formule va me prendre dans la base de donnée uniquement les facture de Janvier et copie les dans le tableau janvier qui se trouve dans l'onglet janvier et ainsi de suite pour les autre onglet ( février, mars etc...).


voici mon fichier et le code a modifier. C'étais un membre du forum qui m'avais fait ce code qui fonctionne nickel mais comme j'ai tout changé il me renvoie des erreurs maintenant

ha. oui j'ai ajouter une fonction recherche dans la base de donnée et une mise en forme qui m'affiche les factures en retard


VB:
Sub Worksheet_Activate()
Dim Sh As Worksheet
IndexStore = 3
[ZoneRetard].ClearContents
' Pour toutes les feuilles
For Each Sh In ActiveWorkbook.Sheets
    If Sh.Name = "Annuel" Or Sh.Name = "Facture en retard" Then GoTo EndConsolidation ' Or les feuilles inutiles
    Nomfeuille = Sh.Name
    IndexMax = Application.WorksheetFunction.CountA(Worksheets(Nomfeuille).Columns("A:A"))
    For ligne = 3 To IndexMax
        If Worksheets(Nomfeuille).Cells(ligne, 3) = "" Then
            If (Now - Worksheets(Nomfeuille).Cells(ligne, 2)) >= 30 Then
                For Col = 1 To 6    ' On copie les 6 colonnes
                    Worksheets("Facture en retard").Cells(IndexStore, Col) = _
                    Worksheets(Nomfeuille).Cells(ligne, Col)
                Next Col
                ' Et on rajoute le retard en jours
                Worksheets("Facture en retard").Cells(IndexStore, 3) = _
                Round(Now - Worksheets(Nomfeuille).Cells(ligne, 2), 0)
                ' On indique le mois
                Worksheets("Facture en retard").Cells(IndexStore, 7) = Nomfeuille
                ' On prepare l'index de la ligne suivante
                IndexStore = IndexStore + 1
            End If
        End If
    Next ligne
EndConsolidation:
Next Sh
End Sub
 

Pièces jointes

Bonsoir

ce serait se savoir comment dire via une formule va me prendre dans la base de donnée uniquement les facture de Janvier et copie les dans le tableau janvier qui se trouve dans l'onglet janvier et ainsi de suite pour les autre onglet ( février, mars etc...).
Cela c'est typiquement une tâche pour les TCD
(12 feuilles mensuelles avec 12 TCD qui s'actualiseront en temps réel)
 
- 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
4
Affichages
271
Retour