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

XL 2016 rapatrier des informations en "scannant" les onglets d'un fichier excel vers les cellules d'un autre onglet

cocotte38

XLDnaute Nouveau
Bonjour la communauté excel,

j'aurais besoin de votre aide ! Je pense que ce que je souhaite faire est possible mais si ça doit passer par des macros, je n'ai pas la connaissance... et par des formules... Pas assez !

Je vais essayer de résumer le besoin ici (cf. fichier joint) :

Onglet Modèle_Facturation : Je souhaite rapatrier les informations contenues dans l'onglet "client X" correspondant au code client défini dans l'onglet BDD. Ex. : pour le code client AIMAR, chercher ce code dans tous les onglets disponibles "Client 1", "Client 2", "Client 3" etc. et rapatrier les 2 tableaux vers "modèle_Facturation" (le formation des onglets "Client X" est identique). La cerise sur le gâteau serait de rapatrier les informations du tableau contenu dans "Client X", à partir de la ligne 19 selon une période donnée. Ex; : afficher les lignes de la période allant du 03/03/2023 au 17/04/2023. Le nombre de lignes du second tableau peut varier

Onglet Modèle_Récap_déclaration : rapatrier la ligne 16 du tableau contenu dans les onglets "client X" basé soit sur le code client défini en BDD et que si la personne est cliente cette année (colonne B de l'onglet BDD), soit d'après le nom des onglets "client 1", "client 2", "client 3" etc. / le code client contenu dans ces onglets (cellule A1).

En espérant avoir été claire !

Merci d'avance pour votre aide,

Natacha
 

Pièces jointes

  • forum_excel.xlsx
    63.1 KB · Affichages: 18

vgendron

XLDnaute Barbatruc
Bonjour
Vu le peu de réponse depuis mardi, tu aura surement deviné que ta demande n'était pas très claire finalement

Ce que j'ai compris du besoin:
rapatrier les données d'un onglet "Clientxx" VERS la feuille "Modèle_Facturation"
l'onglet "Clientxx" dépend du NOM du client que tu as saisi en cellule J1 de la feuille "Modèle_Facturation"

pour l'exemple donné (AIMAR) il faut donc récupérer les données de l'onglet "Client 3" qui contient AIMAR en A1

les données à récupérer sons le tableau "A4:G15" de la feuille Client Vers "Modèle Facturation A16:G27"
Correct??
le pb que je vois c'est
1) dans la feuille Client, le tableau contient des formules qui dépendent du second tableau (A21:J36)
==> il faut donc faire un copier collage spécial Valeur??
2) dans la feuille Modèle_Facturation, la plage A16:G27 contient aussi des formules qui elles, pointent vers un fichier extérieur...
==> on fait quoi de ces formules? on les ecrase avec les données de la feuille "Client"??

pour le reste. cerise sur le gateau et autre chantilly.. pas compris du tout...
 

cocotte38

XLDnaute Nouveau
Bonjour,

Je suis confuse, j'avais fait une réponse mais j'ai dû faire une fausse manip puisqu'apparemment elle n'est jamais arrivée à destination...

Je confirme "pour l'exemple donné (AIMAR) il faut donc récupérer les données de l'onglet "Client 3" qui contient AIMAR en A1".

Je confirme également "les données à récupérer sons le tableau "A4:G15" de la feuille Client Vers "Modèle Facturation A16:G27"

Concernant les deux problématiques :
1) dans la feuille Client, le tableau contient des formules qui dépendent du second tableau (A21:J36)
==> il faut donc faire un copier collage spécial Valeur??
REPONSE : oui ce serait l'idée. Le second tableau est rempli en premier et je fais un résumé de ces informations selon le mois dans la feuille client
2) dans la feuille Modèle_Facturation, la plage A16:G27 contient aussi des formules qui elles, pointent vers un fichier extérieur...
==> on fait quoi de ces formules? on les ecrase avec les données de la feuille "Client"??
REPONSE : on n'en tient pas compte... il semblerait que ce soit une erreur de ma part, on peut écraser ces formules

Concernant la cerise sur le gâteau, je vais essayer de reformuler / clarifier mon besoin :

Dans la cellule A11 de l'onglet "Modèle Facturation", je saisis une période qui peut être variable (ex : du 23/03/2023 au 28/04/2023 et non au mois, cad du 01/01/2023 au 31/01/2023 par ex). La cerise serait d'afficher les lignes contenues dans le tableau (A21:J36) de la feuille "client" et correspondant à la période saisie dans la cellule A11 de l'onglet "Modèle Facturation" dans l'onglet "Modèle Facturation". A noter que le nombre de lignes de ce tableau (A21:J36) peut varier mais il est toujours chronologique.

En espérant avoir été plus claire et encore toutes mes excuses pour ma répons tardive...

Bonne journée,

Natacha
 

job75

XLDnaute Barbatruc
Bonjour cocotte38, vgendron, le forum,

Pour copier une feuille "client" vers la feuille "Modèle Facturation" il faut une macro VBA.

Je suis provisoirement sur mon vieil ordinateur avec Microsoft Excel 2010.

Votre fichier s'ouvre chez moi sous Libre Office et je ne vois pas comment créer une macro.

A+
 

job75

XLDnaute Barbatruc
Voici les 2 macros placées dans le code de la feuille "Modèle Facturation" :
VB:
Private Sub Worksheet_Activate()
Worksheet_Change [J1] 'lance la macro
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J1]) Is Nothing Then Exit Sub
Dim x$, w As Worksheet
x = LCase(Trim([J1]))
With [B16:G27]
    .ClearContents 'RAZ
    If x = "" Then Exit Sub
    For Each w In Worksheets
        If LCase(w.Name) Like "client*" Then
            If LCase(Trim(w.Cells(1))) = x Then
                .Value = w.[B4:G15].Value
                Exit For
            End If
        End If
    Next
End With
End Sub
Elles se déclenchent quand on modifie ou valide la cellule J1 ou qu'on active la feuille.

Je ne m'occupe pas de la feuille "Modèle_Récap_déclaration".

A+
 

Pièces jointes

  • forum_excel(1).xlsm
    73 KB · Affichages: 2

Discussions similaires

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