Ajouter des données fichiers csv dans un fichier excel
Résolu/Fermé
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
-
28 juin 2013 à 11:44
tobas Messages postés 210 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 8 septembre 2014 - 11 juil. 2013 à 13:08
tobas Messages postés 210 Date d'inscription jeudi 23 novembre 2000 Statut Membre Dernière intervention 8 septembre 2014 - 11 juil. 2013 à 13:08
A voir également:
- Macro importer fichier csv dans excel
- Fichier rar - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
21 réponses
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
29 juin 2013 à 04:49
29 juin 2013 à 04:49
Bonjour
Le principe: puisque les titres de colonnes sont identiques, on relève toutes les titres des entêtes de colonnes de la feuille .CSV
on relève les données
puis, sur le fichier de destination excel , on recherche l'emplacement de chaque colonne et on y recopie les données correspondantes.
Si vous ne connaissez pas le VBA, mettez en pièce jointe un échantillon de vos fichiers (il suffit que l'on voit les titres de colonnes) et on vous fera ça.
cdlt
Le principe: puisque les titres de colonnes sont identiques, on relève toutes les titres des entêtes de colonnes de la feuille .CSV
on relève les données
puis, sur le fichier de destination excel , on recherche l'emplacement de chaque colonne et on y recopie les données correspondantes.
Si vous ne connaissez pas le VBA, mettez en pièce jointe un échantillon de vos fichiers (il suffit que l'on voit les titres de colonnes) et on vous fera ça.
cdlt
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
1 juil. 2013 à 10:00
1 juil. 2013 à 10:00
bonjour,
je connais un peu la programmation mais le VBA je connais le principe c est tout.
dans le fichier excel
dans le fichier csv
desole je n'arrive pas à mettre des fichiers exemples
je connais un peu la programmation mais le VBA je connais le principe c est tout.
dans le fichier excel
Titre Référence Etat Constat émis par Sce-Section Date du constat Description du constat Action immédiate réalisée Processus Catégorie PAC Sce-Section propriétaire Date RRC Commentaires RRC : actions Échéance Pour RMPAC
dans le fichier csv
Titre Référence Créateur Date de création Suivi des étapes Constat émis par Service-Section émétteur Source du constat Date du constat Découvert à l'occasion de Famille d'activité réalisée Description du constat Action immédiate réalisée Tranche Etat de tranche Local Système élémentaire Repère fonctionnel Numéro de DI OI Source Commentaire ou proposition émetteur Avis hiérarchique demandé Information conduite en quart Commentaire hiérarchique Ligne de défense Catégorie Processus Service-Section concerné Nature du constat Avis commentaires actions immédiates de la conduite Catégorie PAC Type d'analyse Service-Section propriétaire Code événement Code déclaratif Numéro fiche Saphir Commentaires RRC Constat à reprendre ou à compléter Pour validation RMPAC Pour RMPAC du Commentaires RMPAC Caractérisation validée en RMPAC Date de validation RMPAC Url du document
desole je n'arrive pas à mettre des fichiers exemples
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juil. 2013 à 10:17
1 juil. 2013 à 10:17
Bonjour
mettre une pièce jointe sur https://www.cjoint.com/ (suivre la procédure)
a+
mettre une pièce jointe sur https://www.cjoint.com/ (suivre la procédure)
a+
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
1 juil. 2013 à 13:11
1 juil. 2013 à 13:11
merci de prendre du temps pour moi
voici le fichier excel
https://www.cjoint.com/?CGbnjnAx1X6
et le fichier csv que je recois tous les matins
https://www.cjoint.com/?CGbnltFKgiz
voici le fichier excel
https://www.cjoint.com/?CGbnjnAx1X6
et le fichier csv que je recois tous les matins
https://www.cjoint.com/?CGbnltFKgiz
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juil. 2013 à 17:48
1 juil. 2013 à 17:48
Bonjour
Ci-joint le fichier de récup des données
https://www.cjoint.com/?CGbryhPyAzP
j'aurai voulu que le fichier.csv s'ouvre à partir du fichier global, mais j'ai quelques petits soucis pour séparer les colonnes. Peut-être que quelqu'un sur ce forum viendra le résoudre, mais, en attendant, voici la procédure.
dans un premier temps ouvre le fichier Excel joint: GlobalCSV
puis à partir du même excel, ouvre ton fichier CSV avec le point virgule comme séparateur. (cette opération sera à faire tous les matins en attendant d'avoir la solution pour l'ouvrir automatiquement)
dans un deuxième temps, recopie les titres de colonne du fichier CSV et colle-les dans le fichier GlobalCSV , pour être sûrs qu'ils soient identiques des 2 côtés. (cette opération n'est à faire qu'une seule fois)
à partir de là, tu cliques sur le bouton "Import des données".
Je te propose donc d'essayer ceci en attendant l'automatisation d'ouverture du fichier CSV. si je trouve, je le mettrai ici.
fait des essais, si tu rencontres des problèmes, il s'agira sûrement des noms de colonnes différents entre les 2 fichiers.
bonne réception
cdlt
Ci-joint le fichier de récup des données
https://www.cjoint.com/?CGbryhPyAzP
j'aurai voulu que le fichier.csv s'ouvre à partir du fichier global, mais j'ai quelques petits soucis pour séparer les colonnes. Peut-être que quelqu'un sur ce forum viendra le résoudre, mais, en attendant, voici la procédure.
dans un premier temps ouvre le fichier Excel joint: GlobalCSV
puis à partir du même excel, ouvre ton fichier CSV avec le point virgule comme séparateur. (cette opération sera à faire tous les matins en attendant d'avoir la solution pour l'ouvrir automatiquement)
dans un deuxième temps, recopie les titres de colonne du fichier CSV et colle-les dans le fichier GlobalCSV , pour être sûrs qu'ils soient identiques des 2 côtés. (cette opération n'est à faire qu'une seule fois)
à partir de là, tu cliques sur le bouton "Import des données".
Je te propose donc d'essayer ceci en attendant l'automatisation d'ouverture du fichier CSV. si je trouve, je le mettrai ici.
fait des essais, si tu rencontres des problèmes, il s'agira sûrement des noms de colonnes différents entre les 2 fichiers.
bonne réception
cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juil. 2013 à 17:51
1 juil. 2013 à 17:51
j'ai oublié de te dire que ne connaissant pas le nom de ton fichier CSV, je l'ai baptisé "FichierCSV.csv" dans le code à 2 endroits, remplace par le nom de ton fichier
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
1 juil. 2013 à 19:25
1 juil. 2013 à 19:25
Bonjour,
Un code pour sélectionner le fichier CSV (ou les fichiers, sélection multiple possible) à partir d'une boite de dialogue.
J'ai ajouté la conversion avec le format date JMA pour les colonnes qui paraissaient en être.
Si tu veux t'en servir pour ton fichier.
eric
Un code pour sélectionner le fichier CSV (ou les fichiers, sélection multiple possible) à partir d'une boite de dialogue.
J'ai ajouté la conversion avec le format date JMA pour les colonnes qui paraissaient en être.
Private Sub ouvreFichiers() Dim NomFichier As Variant, Filtre As String, cmpt As Long, fich() As String Filtre = "Tous les fichiers(*.CSV),*.CSV" NomFichier = Application.GetOpenFilename(Filtre, 1, "Ouvrir", , True) If IsArray(NomFichier) Then For cmpt = LBound(NomFichier) To UBound(NomFichier) Application.Workbooks.Open NomFichier(cmpt) Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 4), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 4), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _ ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _ (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _ Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 4), Array(44, 1)), _ TrailingMinusNumbers:=True Next cmpt End If End Sub
Si tu veux t'en servir pour ton fichier.
eric
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
1 juil. 2013 à 20:19
1 juil. 2013 à 20:19
Bonsoir Eriiic
Merci infiniment pour ce coup de main, je l'intègre de ce pas dans le nouveau fichier
annule et remplace le précédent envoi
https://www.cjoint.com/?CGbuoaTzHjw
pour Tobas, je répète, avant de lancer l'application, ouvre les 2 fichiers dans le même excel, et corrige les titres de telle manière qu''ils soient identiques
merci encore Eriiic
bonne soirée à tous les deux
cordialement
Merci infiniment pour ce coup de main, je l'intègre de ce pas dans le nouveau fichier
annule et remplace le précédent envoi
https://www.cjoint.com/?CGbuoaTzHjw
pour Tobas, je répète, avant de lancer l'application, ouvre les 2 fichiers dans le même excel, et corrige les titres de telle manière qu''ils soient identiques
merci encore Eriiic
bonne soirée à tous les deux
cordialement
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
1 juil. 2013 à 21:57
1 juil. 2013 à 21:57
bonsoir à tous ,
je viens de tester le fichier avec le choix du fichier csv j ai du changer le nom du fichier dans le code mais tu m avais prevenu lol.
je sais que je suis embetent mais le premier fichier je ne peux pas modifier les titres (le fichier est utiliser pour integer les données dans un programme),donc je voulais si possible que la macro compare les titres et si identique elle recopie la colonne sinon elle passe à la suivant . si vous avez remarquer dans le fichiers import je ne prend pas toutes les infos, je ne recupere que les colonnes identiques a mon fichier final.
je vous renvoi le fichier final avec des données et les donnees csv a rajouter à la suite
https://www.cjoint.com/?0Gbv2BA2drL =>fichier final
https://www.cjoint.com/?0Gbv3JZoJHq =>fichiers donnée
merci pour le temps que vous consacré
cordialement
je viens de tester le fichier avec le choix du fichier csv j ai du changer le nom du fichier dans le code mais tu m avais prevenu lol.
je sais que je suis embetent mais le premier fichier je ne peux pas modifier les titres (le fichier est utiliser pour integer les données dans un programme),donc je voulais si possible que la macro compare les titres et si identique elle recopie la colonne sinon elle passe à la suivant . si vous avez remarquer dans le fichiers import je ne prend pas toutes les infos, je ne recupere que les colonnes identiques a mon fichier final.
je vous renvoi le fichier final avec des données et les donnees csv a rajouter à la suite
https://www.cjoint.com/?0Gbv2BA2drL =>fichier final
https://www.cjoint.com/?0Gbv3JZoJHq =>fichiers donnée
merci pour le temps que vous consacré
cordialement
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
2 juil. 2013 à 05:48
2 juil. 2013 à 05:48
Bonjour
Fichier modifié
Pour contourner le problème des noms de titre différents, j'ai créer une feuille supplémentaire "Emplacement" avec les titres de chaque fichiers et leurs colonnes respectives. En colonne F et G, les listes complètes, en A et C les champs retenus avec leurs emplacements. vérifie si je ne me suis pas trompé, en A14 je n'ai pas trouvé l'équivalent de la date RRC, à toi de compléter avant de lancer le programme de récup.
https://www.cjoint.com/?CGcfSGB0Ky5
je serai absent de la journée, on reverra tout ça à mon retour si il y a problème.
bonne journée
cdlt
Fichier modifié
Pour contourner le problème des noms de titre différents, j'ai créer une feuille supplémentaire "Emplacement" avec les titres de chaque fichiers et leurs colonnes respectives. En colonne F et G, les listes complètes, en A et C les champs retenus avec leurs emplacements. vérifie si je ne me suis pas trompé, en A14 je n'ai pas trouvé l'équivalent de la date RRC, à toi de compléter avant de lancer le programme de récup.
https://www.cjoint.com/?CGcfSGB0Ky5
je serai absent de la journée, on reverra tout ça à mon retour si il y a problème.
bonne journée
cdlt
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
2 juil. 2013 à 18:37
2 juil. 2013 à 18:37
bonjour,
je reviens apres plusieur essai .j ai fait les modifications et completer les listes pour les champs=> tout marche bien.
mais au bout du deuxieme fichier l'ouverture du fichier donne n'importe quoi (il ne respecte plus les ";" et coupe un peut n importe comment(soit un espace soit une virgule) j ai lu dans different forum qu'il fallait soit mettre en place la variable "Local:=True" dans l'ouverture du fichier mais je ne sais pas ou la placer dans le code soit utiliser la fonction "split" ou tu dois definer le caractere separateur mais la c'est un peu du chinois donc si tu peut encore m aider je te remercie
bonne soirée
cdlt
je reviens apres plusieur essai .j ai fait les modifications et completer les listes pour les champs=> tout marche bien.
mais au bout du deuxieme fichier l'ouverture du fichier donne n'importe quoi (il ne respecte plus les ";" et coupe un peut n importe comment(soit un espace soit une virgule) j ai lu dans different forum qu'il fallait soit mettre en place la variable "Local:=True" dans l'ouverture du fichier mais je ne sais pas ou la placer dans le code soit utiliser la fonction "split" ou tu dois definer le caractere separateur mais la c'est un peu du chinois donc si tu peut encore m aider je te remercie
bonne soirée
cdlt
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
2 juil. 2013 à 19:00
2 juil. 2013 à 19:00
Re,
je ne sais pas si c'est à moi que tu t'adresses mais dans le dernier fichier mis je plante à :
ColCSV(i) = Cells(i + 2, 2)
à cause du #N/A! en B14
Et si tu appelles bien OuvreFichiers tu ne récupères pas le nom du fichier. Tu continues à t'adresser à FichierCSV.csv.
Après ouverture le nom du classeur actif est ActiveWorkbook.Name
eric
je ne sais pas si c'est à moi que tu t'adresses mais dans le dernier fichier mis je plante à :
ColCSV(i) = Cells(i + 2, 2)
à cause du #N/A! en B14
Et si tu appelles bien OuvreFichiers tu ne récupères pas le nom du fichier. Tu continues à t'adresser à FichierCSV.csv.
Après ouverture le nom du classeur actif est ActiveWorkbook.Name
eric
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
2 juil. 2013 à 19:28
2 juil. 2013 à 19:28
Bonsoir Tobas, Bonsoir Eriiic
Oui notre ami Tobas à bien rectifier le nom du fichier et mis la valeur manquante en A14 (valeur que je ne trouvais pas dans sa liste), puisque ça à fonctionner au moins une fois. ce qui est curieux, c'est que ça ne fonctionne plus à l'ouverture d'un 2ème fichier.csv.
Question: est-ce qu'en fermant et ouvrant de nouveau le fichier et en faisant l'import, cela marche correctement?
Tobas si tu pouvais faire la manip et nous le confirmer, histoire d'y voir plus clair
en attente de ta réponse
Eriiic, connais-tu cette variable local qu'il faut mettre à true dont nous parle Tobas?
Oui notre ami Tobas à bien rectifier le nom du fichier et mis la valeur manquante en A14 (valeur que je ne trouvais pas dans sa liste), puisque ça à fonctionner au moins une fois. ce qui est curieux, c'est que ça ne fonctionne plus à l'ouverture d'un 2ème fichier.csv.
Question: est-ce qu'en fermant et ouvrant de nouveau le fichier et en faisant l'import, cela marche correctement?
Tobas si tu pouvais faire la manip et nous le confirmer, histoire d'y voir plus clair
en attente de ta réponse
Eriiic, connais-tu cette variable local qu'il faut mettre à true dont nous parle Tobas?
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
3 juil. 2013 à 09:35
3 juil. 2013 à 09:35
bonjour à tous,
je comfirme Frenchie83 que j ai bien rectifier le fichier.
Mais je pense que le probleme vient des commentaires du fichier csv qui contiennent des espaces et des virgules, c'est pourquoi j ai parlé des infos que j ai recuperer dans mes recherches.
je vous mets les bout de code don cje parle pour que vous regarder
et pour la variable Local
je comfirme Frenchie83 que j ai bien rectifier le fichier.
Mais je pense que le probleme vient des commentaires du fichier csv qui contiennent des espaces et des virgules, c'est pourquoi j ai parlé des infos que j ai recuperer dans mes recherches.
je vous mets les bout de code don cje parle pour que vous regarder
Sub import() Dim myFso As Object, csvFile As Object Dim csvLine As String, csvDelimiter As String, csvFileName As String, tabStr() As String Dim i As Integer, iLigne As Integer, iColonne As Integer 'fichier texte à traiter csvFileName = "C:\Users\JB0793DN\Documents\import\export CS VDOC.csv" 'délimiteur csv csvDelimiter = ";" 'ouvrir le fichier CSV Set myFso = CreateObject("Scripting.FileSystemObject") Set csvFile = myFso.OpenTextFile(csvFileName) 'tant qu'on est pas à la fin du fichier CSV (boucle sur chaque ligne) While Not csvFile.AtEndOfStream iLigne = iLigne + 1 iColonne = 0 'lire la ligne suivante csvLine = csvFile.ReadLine '"spliter" la ligne tabStr = Split(csvLine, csvDelimiter) 'boucler sur chaque élément de la ligne For i = LBound(tabStr) To UBound(tabStr) iColonne = iColonne + 1 Debug.Print "Ligne " & iLigne & ", Colonne " & iColonne & " --> " & tabStr(i) Next i Wend ' fermer le fichier csvFile.Close Set csvFile = Nothing: Set myFso = Nothing End Sub
et pour la variable Local
Workbooks.OpenText Filename:=NomFic, DataType:=1, Semicolon:=True, local:=True
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
3 juil. 2013 à 10:13
3 juil. 2013 à 10:13
Bonjour,
Mais je pense que le probleme vient des commentaires du fichier csv qui contiennent des espaces et des virgules
Si le csv que tu as mis en exemple ne correspond pas à ceux que tu as c'est sûr que ça va moins bien marcher...
Frenchie a sûrement bossé pour rien.
eric
Mais je pense que le probleme vient des commentaires du fichier csv qui contiennent des espaces et des virgules
Si le csv que tu as mis en exemple ne correspond pas à ceux que tu as c'est sûr que ça va moins bien marcher...
Frenchie a sûrement bossé pour rien.
eric
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
3 juil. 2013 à 10:33
3 juil. 2013 à 10:33
bonjour eric,
je ne comprend pas pourquoi tu dis que "Frenchie a sûrement bossé pour rien. "
dans le fichier exmple que je vous ai transmis il y a bien des colonnes avec description (avec espace et virgules dedans).
le code fonctionne avec le le premier fichier donc jolie travail de frenchie mais je rencontre un soucis lors de l ouverture d'un autre fichier avec plus d'ecriture dans les colonnes.
Je n ai pas la meme chose quand je l ouvre directement dans excel (excel coupe au niveau des ";") et quand je passe par l 'ouverture via la macro.
je comprend la dificultée des macros et je ne veux surtout pas faire perdre du temps à des personnes qui s'investissent dans le forum.
cdlt
je ne comprend pas pourquoi tu dis que "Frenchie a sûrement bossé pour rien. "
dans le fichier exmple que je vous ai transmis il y a bien des colonnes avec description (avec espace et virgules dedans).
le code fonctionne avec le le premier fichier donc jolie travail de frenchie mais je rencontre un soucis lors de l ouverture d'un autre fichier avec plus d'ecriture dans les colonnes.
Je n ai pas la meme chose quand je l ouvre directement dans excel (excel coupe au niveau des ";") et quand je passe par l 'ouverture via la macro.
je comprend la dificultée des macros et je ne veux surtout pas faire perdre du temps à des personnes qui s'investissent dans le forum.
cdlt
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
3 juil. 2013 à 11:07
3 juil. 2013 à 11:07
La question qui se pose c'est : est-ce que c'est correct si tu ouvres ce fichier en premier ou pas ?
Savoir si c'est son format ou le fait d'être ouvert en second qui joue, car tu émets les 2 hypothèses.
Et déposer un extrait de fichier mal traité en précisant à partir de quelle ligne-colonne ce n'est pas bon.
eric
Savoir si c'est son format ou le fait d'être ouvert en second qui joue, car tu émets les 2 hypothèses.
Et déposer un extrait de fichier mal traité en précisant à partir de quelle ligne-colonne ce n'est pas bon.
eric
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
3 juil. 2013 à 11:13
3 juil. 2013 à 11:13
Bonjour Tobas, Bonjour Eriiic
Tobas: Pour que l'on puisse y voir plus clair, pourrais-tu remettre un échantillon du fichier.csv qui plante, afin que l'on puisse comparer les différences avec le précédent envoi.
merci
A+
Tobas: Pour que l'on puisse y voir plus clair, pourrais-tu remettre un échantillon du fichier.csv qui plante, afin que l'on puisse comparer les différences avec le précédent envoi.
merci
A+
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
3 juil. 2013 à 11:47
3 juil. 2013 à 11:47
Bonjour je vous envoi des imprimes ecran de ce que je vois
et les fichiers
https://www.cjoint.com/?CGdlL1xvoGD =>imprime ecran fichier via la macro
https://www.cjoint.com/?CGdlNydRkFl =>imprime ecran fichier direct excel
https://www.cjoint.com/?CGdlOXoXRZk =>fichier de frenchie83 modifié (nom du fichier et colonne)
https://www.cjoint.com/?CGdlQbudd6I =>le fichier de données
https://www.cjoint.com/?CGdlUvMrbVd => le fichier que j ai fait au debut avec l enregistrement macro (le code est moche )
j espere que tout cela va vous aider
encore merci
cdlt
et les fichiers
https://www.cjoint.com/?CGdlL1xvoGD =>imprime ecran fichier via la macro
https://www.cjoint.com/?CGdlNydRkFl =>imprime ecran fichier direct excel
https://www.cjoint.com/?CGdlOXoXRZk =>fichier de frenchie83 modifié (nom du fichier et colonne)
https://www.cjoint.com/?CGdlQbudd6I =>le fichier de données
https://www.cjoint.com/?CGdlUvMrbVd => le fichier que j ai fait au debut avec l enregistrement macro (le code est moche )
j espere que tout cela va vous aider
encore merci
cdlt
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
3 juil. 2013 à 15:00
3 juil. 2013 à 15:00
bonjour,
j ai trouvé où je devait metrre ma variable Local
ce qui oblige excel a prendre en compte le separateur ";"
je vous mets le fichier modifier et fonctionnel avec des commentaires sur les lignes pour expliquer la fonction
https://www.cjoint.com/?CGdo1JpBhWa
vous pourrez me dire si j ai bon dans mes commentaires
si je peux encore vous embeter encore un peu mais c'est du superflus
est que l'on peut lors de la copie des données reprendre le format de la cellule (police,orentation,...)
MERCI
cdlt
j ai trouvé où je devait metrre ma variable Local
Application.Workbooks.Open NomFichier(cmpt), Local:=True
ce qui oblige excel a prendre en compte le separateur ";"
je vous mets le fichier modifier et fonctionnel avec des commentaires sur les lignes pour expliquer la fonction
https://www.cjoint.com/?CGdo1JpBhWa
vous pourrez me dire si j ai bon dans mes commentaires
si je peux encore vous embeter encore un peu mais c'est du superflus
est que l'on peut lors de la copie des données reprendre le format de la cellule (police,orentation,...)
MERCI
cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
3 juil. 2013 à 15:15
3 juil. 2013 à 15:15
Re
Et est-ce qu'avec la variable local=true cela marche mieux?
De mon côté, je bataille avec ton fichier csv, du fait qu'on ne le reçoit pas de la façon que toi tu dois le recevoir. (certaines données sont écrites sur des lignes différentes alors qu'elles font partie d'une même cellule)
Si ça marche avec la petite modif tant mieux
pour ce qui est de la mise en forme, j'ai utilisé l'enregistreur de macro et l'ai rajouté en fin de macro
https://www.cjoint.com/?CGdphMkm89a
A+
Et est-ce qu'avec la variable local=true cela marche mieux?
De mon côté, je bataille avec ton fichier csv, du fait qu'on ne le reçoit pas de la façon que toi tu dois le recevoir. (certaines données sont écrites sur des lignes différentes alors qu'elles font partie d'une même cellule)
Si ça marche avec la petite modif tant mieux
pour ce qui est de la mise en forme, j'ai utilisé l'enregistreur de macro et l'ai rajouté en fin de macro
https://www.cjoint.com/?CGdphMkm89a
A+
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
4 juil. 2013 à 09:12
4 juil. 2013 à 09:12
Re,
frenchie83 ne bataille pas trop ,la variable fonctionne bien sur mes fichiers.
petit question tu as regarder les commentaires dans mon code ils sont correct ou tu as des choses à ajouter pour eclairer les fonctions ?
je te remercie encore une fois ainsi qu'Eriic pour le temps passer à regarder mon probleme et à le resoudre.
Merci
A+
frenchie83 ne bataille pas trop ,la variable fonctionne bien sur mes fichiers.
petit question tu as regarder les commentaires dans mon code ils sont correct ou tu as des choses à ajouter pour eclairer les fonctions ?
je te remercie encore une fois ainsi qu'Eriic pour le temps passer à regarder mon probleme et à le resoudre.
Merci
A+
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
4 juil. 2013 à 09:28
4 juil. 2013 à 09:28
Bonjour Tobas
merci d'avoir répondu,
Tes commentaires sont impeccables et facilitent la lisibilité du code.
puisque çà marche bien ainsi, je te souhaite donc, une bonne continuation et une très bonne journée.
Je remercie également Eriiic pour ses compétences et son aide très précieuse.
A la prochaine
cordialement
merci d'avoir répondu,
Tes commentaires sont impeccables et facilitent la lisibilité du code.
puisque çà marche bien ainsi, je te souhaite donc, une bonne continuation et une très bonne journée.
Je remercie également Eriiic pour ses compétences et son aide très précieuse.
A la prochaine
cordialement
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
10 juil. 2013 à 11:02
10 juil. 2013 à 11:02
bonjour,
je suis désolé mais je reviens vers vous pour rajouter une pierre dans ma problematique.
je viens de remarquer que dans l'importation,on ne gerer pas les doublons.
je m 'explique.
lors de l'importation ,on doit verifier si la reference existe si elle existe on l'a met à jour (on copie les donnees de la ligne entiere) sinon on l'ajoute.
j ai deja modifier la macro d'importation pour envoyer sur un feuille differente (temp) et creer une macro de comparaison (qui ne marche pas comme je veut)
je vous mette le fichier excel avec un fichier exemple
https://www.cjoint.com/?0GklakwBG7Q fichier excel avec la macro
https://www.cjoint.com/?0GklbnoZat6 fichier export
merci de prendre un peu de temps pour regarder
cordialement
je suis désolé mais je reviens vers vous pour rajouter une pierre dans ma problematique.
je viens de remarquer que dans l'importation,on ne gerer pas les doublons.
je m 'explique.
lors de l'importation ,on doit verifier si la reference existe si elle existe on l'a met à jour (on copie les donnees de la ligne entiere) sinon on l'ajoute.
j ai deja modifier la macro d'importation pour envoyer sur un feuille differente (temp) et creer une macro de comparaison (qui ne marche pas comme je veut)
je vous mette le fichier excel avec un fichier exemple
https://www.cjoint.com/?0GklakwBG7Q fichier excel avec la macro
https://www.cjoint.com/?0GklbnoZat6 fichier export
merci de prendre un peu de temps pour regarder
cordialement
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
11 juil. 2013 à 03:13
11 juil. 2013 à 03:13
Bonjour
Voici la modif
https://www.cjoint.com/?CGldiRZChpH
je récapitule; si la référence existe déjà, on écrase les anciennes données , sinon on rajoute les nouvelles donnes à la suite
en espérant que j'ai bien compris et que cela réponde à tes attentes.
bonne journée
cdlt
Voici la modif
https://www.cjoint.com/?CGldiRZChpH
je récapitule; si la référence existe déjà, on écrase les anciennes données , sinon on rajoute les nouvelles donnes à la suite
en espérant que j'ai bien compris et que cela réponde à tes attentes.
bonne journée
cdlt
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
11 juil. 2013 à 04:37
11 juil. 2013 à 04:37
Re
il me vient une idée, mais comme je dois partir à mon boulot, je t'invite à le faire toi-même, et vu ce que tu sais faire, je me fais pas de soucis.
le but:
dans la feuil1, ajoute une colonne baptisée ordre chronologique.
on ne passe pas par la feuille "temp" , on copie les données dans la feuil1 à la suite sans ce soucier si il y a des doublons. (ce qu'on faisait avant)
puis au bout de chaque nouvelle ligne, dans la colonne "ordre chronologique", on rajoute un numéro composé de" l'année en cours, numéro du jour de l'année" ce qui donnerai une valeur de la forme 2013,156
Partant de là, il n'y a plus qu'à faire un tri, par référence et par ordre chronologique
les références étant maintenant accolées, il suffit de comparer la référence de la ligne en cours avec celle de la ligne en dessous. si elles sont différentes, on passe à la suivante, sinon on supprime la ligne active, et on continu.
bien sûr, comme les lignes déjà existante non pas de numéros d'ordre, il suffit d'en rajouter un, identique pour toutes les lignes, et inférieur au numéro du jour
avec ce procédé, tu te passes de la feuille temp, d'où gain en rapidité.
A+
il me vient une idée, mais comme je dois partir à mon boulot, je t'invite à le faire toi-même, et vu ce que tu sais faire, je me fais pas de soucis.
le but:
dans la feuil1, ajoute une colonne baptisée ordre chronologique.
on ne passe pas par la feuille "temp" , on copie les données dans la feuil1 à la suite sans ce soucier si il y a des doublons. (ce qu'on faisait avant)
puis au bout de chaque nouvelle ligne, dans la colonne "ordre chronologique", on rajoute un numéro composé de" l'année en cours, numéro du jour de l'année" ce qui donnerai une valeur de la forme 2013,156
Partant de là, il n'y a plus qu'à faire un tri, par référence et par ordre chronologique
les références étant maintenant accolées, il suffit de comparer la référence de la ligne en cours avec celle de la ligne en dessous. si elles sont différentes, on passe à la suivante, sinon on supprime la ligne active, et on continu.
bien sûr, comme les lignes déjà existante non pas de numéros d'ordre, il suffit d'en rajouter un, identique pour toutes les lignes, et inférieur au numéro du jour
avec ce procédé, tu te passes de la feuille temp, d'où gain en rapidité.
A+
tobas
Messages postés
210
Date d'inscription
jeudi 23 novembre 2000
Statut
Membre
Dernière intervention
8 septembre 2014
24
11 juil. 2013 à 10:01
11 juil. 2013 à 10:01
merci encore
je vais faire des tests et je te tiens au courant
petite question personnel tu dors quand ???????
je vais faire des tests et je te tiens au courant
petite question personnel tu dors quand ???????
Frenchie83
Messages postés
2240
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
11 août 2023
338
11 juil. 2013 à 10:08
11 juil. 2013 à 10:08
très peu, trop peu