Bonsoir,
J’avais déjà posté ici pour demander de l’aide sur un fichier, et j’ai eu la meilleur solution grâce à @FFO, donc je reviens encore une fois car j’ai besoin d’adapter le code existant à un nouvelle feuille inventaire (fichier d’origine en pj) fiche_trans2.xlsm (27,2 Ko)
Nouvelle feuille inventaire : MODEL_MVT.xlsx (11,3 Ko)
Bonjour
Cette nouvelle feuille inventaire diffère de la précédente
Il serait bien de détailler le résultat attendu (données source à récupérer onglet cible et de destination à élaborer car inexistant)
Et ce afin d’adapter le traitement
Merci
Déjà merci encore une fois, à chaque fois que je galère vous êtes là , oui exactement je vais vous préciser les modifications a faire :
Ajout de deux colonnes, une pour la date en et une autre après la dernière colonne (agence ),
Cette dernière sera nommé « origine » et ‹ à dernière « destination », ajout de deux critère supplémentaire pour la date et l › agence de de destination en plus de celle déjà existante que sera renommé « origine, exemple : j2, j5, et j8, l’agence de destination sera aussi copié sur » fiche " en haut à côté de origine
Et mille merci
Merci pour ta réponse
Le mieux est que tu ėlabores dans ce nouveau fichier toutes ces colonnes et l’onglet « fiche » tel qu’attendu
De me déterminer de manière precise les données sources à utiliser (colonne onglet) vers quelle cible (colonne et onglet) par le biais je suppose du même traitement que pour le premier fichier
Comme on dit un dessin vaut mieux que pléthore d’explications pour une bonne compréhension
Merci d’avance
Merci pour l’effort, ce nouveau fichier ne prends pas en considération les 3 critères combinés à savoir origine, destination et date et ne copie pas cette dernière sur fiche, ne copie pas la l’agence d’origine sur fiche cellule A5, par la même occasion j’avais essayé le code suivant sans succès :
Private Sub Worksheet_Change(ByVal Target As Range)
’ Vérifie si les cellules J2, J5 ou J8 sont modifiées
If Not Intersect(Target, Range(« J2, J5, J8 »)) Is Nothing Then
’ Vérifie si J2, J5 et J8 ne sont pas vides
If Range(« J2 »).Value <> « » And Range(« J5 »).Value <> « » And Range(« J8 »).Value <> « » Then
’ Efface le contenu de la plage A9:M17 de la feuille FICHE
Sheets(« FICHE »).Range(« A9:M17 »).ClearContents
' Initialise les variables pour la copie des lignes
Dim lignerecopie As Long
Dim i As Long
Dim derligne As Long
Dim dateCritere As Date
Dim agenceOrigine As String
Dim agenceDestination As String
dateCritere = Range("J8").Value
agenceOrigine = Range("J5").Value
agenceDestination = Range("J2").Value
lignerecopie = 9
i = 2
derligne = Sheets("INVENTAIRE").Range("A" & Rows.Count).End(xlUp).Row
' Parcourt chaque ligne jusqu'à la dernière ligne remplie
Do While i < derligne + 1
' Vérifie si les valeurs de la colonne B (date), G (agence d'origine), H (agence de destination) correspondent aux critères
If Sheets("INVENTAIRE").Range("B" & i).Value = dateCritere And _
Sheets("INVENTAIRE").Range("G" & i).Value = agenceOrigine And _
Sheets("INVENTAIRE").Range("H" & i).Value = agenceDestination Then
' Copie les valeurs des colonnes A, B, C, D, E, G, H vers la feuille FICHE
Sheets("FICHE").Range("A" & lignerecopie).Value = Sheets("INVENTAIRE").Range("A" & i).Value ' Autre donnée
Sheets("FICHE").Range("B" & lignerecopie).Value = Sheets("INVENTAIRE").Range("B" & i).Value ' Date
Sheets("FICHE").Range("C" & lignerecopie).Value = Sheets("INVENTAIRE").Range("C" & i).Value ' Autre donnée
Sheets("FICHE").Range("D" & lignerecopie).Value = Sheets("INVENTAIRE").Range("D" & i).Value ' Autre donnée
Sheets("FICHE").Range("E" & lignerecopie).Value = Sheets("INVENTAIRE").Range("E" & i).Value ' Autre donnée
Sheets("FICHE").Range("F" & lignerecopie).Value = Sheets("INVENTAIRE").Range("G" & i).Value ' Agence d'origine
Sheets("FICHE").Range("G" & lignerecopie).Value = Sheets("INVENTAIRE").Range("H" & i).Value ' Agence de destination
lignerecopie = lignerecopie + 1
End If
i = i + 1
Loop
End If
End If
Merci pour ce retour
Je n’ai fait qu’adapter le traitement du fichier précédent à celui-ci en tenant compte des nouvelles structures des onglets « INVENTAIRE » et « FICHE » ni plus ni moins
Si des données sont manquantes onglet « FICHE » elles sont obligatoirement supplémentaires en rapport avec celles du fichier précédent
Tu voudras bien me fournir pour chacune d’elle leur source onglet « INVENTAIRE » (quelle colonne) et leur cible onglet « FICHE » (quelle colonne) afin que je rajoute dans le traitement pour chacune d’elle les instructions qui conviennent
Dans l’attente de te lire
Les mêmes colonnes sur inventaire sont présente sur le tableau principal de « fiche » sauf les La colonne origine qui devra être copié sur la cellule A5 dans fiche alors que destination est déjà présente dans l’ancien fichier est appelé « agence » et devra garder le même traitement
Merci…
Peux-tu me donner les colonnes des données
manquantes de l’onglet « INVENTAIRE » et pour chacune d’elles la colonne de destination onglet « FICHE »
Exemple :
Données colonne « A » onglet « INVENTAIRE » à intégrer colonne « C » onglet « FICHE »
Et ce pour toutes celles attendues et qui sont absentes onglet « FICHE »
voici un schéma de correspondance entre colonnes des 2 feuilles :
Inventaire: Fiche:
Colonne A. Colonne A
B. B
C. C
D. D
E. G
F. I
G. H
H. A5
I. G5
les cellules k2,K5 et K8 sont pour les critères de sélection
et voici un fichier actualise (désolé pour l’erreur) fiche_trans3.xlsm (35,1 Ko)``
Ci-joint 2 propositions
La première avec la correspondance décrite intégrée en dur dans le code du traitement
La deuxième avec la correspondance décrite intégrée dans un onglet « Correspondance » rajoutée que le traitement utilise ainsi :
colonne « A » de cet onglet 2° ligne le nom de l’onglet source les lignes suivantes la liste des colonnes source définies par leur lettre
colonne « B » de cet onglet 2° ligne le nom de l’onglet cible les lignes suivantes la liste des colonnes cible définies par leur lettre en correspondance par ligne avec celles de la colonne « A »
Dans cette deuxième solution tu as la main sur les correspondances source/cible des colonnes à utiliser
Testes ces 2 solutions et à toi de choisir celle qui te convient le mieux
Je n’ai pas bien compris tes 2 dernières correspondances :
H. A5
I. G5
J’ai adapté le traitement pour l’alimentation des cellules cible « A5 » et « G5 » selon ma logique car ces indications les concernant me sont incompréhensibles (à une cellule cible « A5 » et « B5 » ne peut obtenir que la donnée d’une seule cellule source : « H » et « I » ???)
bonjour,
déjà un grand merci, pour les deux fichiers j’ai teste et ma première remarque et qu’ils ne prennent pas la data en considération comme critère , et aussi que tu faire u choix inexistant, la feuille « fiche » reste rempli alors qu’elle devrait être vide , pour me s deux dernières correspondances ils son liés au deux camps en hait a savoir agence d’origine et agence de destination.
"qu’ils ne prennent pas la data en considération comme critère "
C’est à dire ???
« et aussi que tu faire u choix inexistant, la feuille « fiche » reste rempli alors qu’elle devrait être vide , »
Normal aucune instruction dans cet esprit seul un choix en cellule « K2 » onglet « INVENTAIRE » nettoie l’onglet « FICHE » pour une nouvelle intégration
Ce fonctionnement est celui de ton fichier précédent que je n’ai pas modifié
Désolé, C’est plutôt date et pas data (erreur de frappe), dans certains cas il peut y avoir sur la même période les même mouvements, donc je dois les différencier par date, en fait les 3 critères à droite de inventaire opèrent comme une sorte de filtre multi critères, pour les cas des choix inexistant je vous donne un exemple:supposons que je choisi une combinaison origine /destination /date où il n’existe pas d’enregistrement correspondant sur inventaire dans ce cas je veux que la feuille fiche reste vide
Bonjour
Ta demande initiale était d’adapter un nouveau fichier avec le traitement d’un ancien ce que j’ai réalisé
En aucun cas celui-ci ne réalisait ceci :
« je choisi une combinaison origine /destination /date où il n’existe pas d’enregistrement correspondant sur inventaire dans ce cas je veux que la feuille fiche reste vide »
Seul le choix du paramètre origine en cellule « K2 » onglet « INVENTAIRE » comme dans le traitement du fichier précédent est le filtre pour l’intégration des données dans l’onglet « FICHE »
Aucune instruction supplémentaire à ce process de cet ancien fichier qui semblait parfaitement te convenir
Si donc ce filtre mis en place est insuffisant il faudrait me détailler de manière précise son action avec exemples à la clef dans un fichier (paramétrage effectué onglet « INVENTAIRE » le résultat attendu onglet « FICHE »)
Merci d’être claire et précis et ainsi d’éviter des échanges de clarification faute de précisions appropriées
Bonjour,
D’accord c’est noté, en soi même il n’existe pas une grande différence entre le premier fichier que vous avez créer il y a un an et celui là sur le fond, ce dernier fichier doit permettre de copier la date, le code qr et l’agence d’origine (l’ancienne colonne « agence » est devenu « destination » ), votre approche initial consistait à remplir la feuille fiche en modifiant la cellule h2 alors que maintenant la copie de lignes entre inventaire et fiche doit prendre considération les critères sur k2, k5 et k8, les deux dernier fichiers que vous m’avez proposé font presque en grande partie ce qui est demandé, il reste juste que les ligne copiés respecte les 3 critères sur la feuille inventaire
Et merci beaucoup
Et voilà des consignes beaucoup plus explicites
Avec un fichier exemple d’un onglet source aux cellules « K2 »,« K5 »,« K8 » préparées et un onglet cible complété des résultats attendus en rapport c’eut été parfait comme je te l’ai déjà exprimé un dessin vaut mieux que pléthore d’explications pour une compréhension optimum
Je te propose malgré tout ces 2 fichiers l’un avec les correspondances en dur dans le code l’autre à ta main dans l’onglet « Correspondance »
Testes les et dis moi
Espérant cette fois ci avoir touché dans le mille quant à tes attentes