[Excel] Demande d'aide sur cas simple
Nicow
-
Nicow -
Nicow -
Bonjour,
Je suis actuellement en stage pour 3 mois et je voudrais un code qui ferait passer cette durée à 2 mois (ou moins si c'est possible).
Mon problème :
Mon logiciel exporte des données d'un fichier sous forme de quatre colonnes de chiffre en .csv. Lorsque j'ouvre silmutanément plusieurs fichiers pour aller plus vite, et que j'exporte en .csv, le logiciel me colle les quatre colonnes de chaque fichier "à la suite". Moi je voudrais les déplacer et les mettre côte à côte.
Un petit schéma :
Situation initiale :
colonne 1 colonne 2 colonne 3 colonne 4
chiffre >> chiffre >> chiffre >> chiffre
.
. fichier 1
.
chiffre >> chiffre >> chiffre >> chiffre
chiffre >> chiffre >> chiffre >> chiffre
.
. fichier 2
.
chiffre >> chiffre >> chiffre >> chiffre
But :
colonne 1 colonne 2 colonne 3 colonne 4 >>> colonne 5 colonne 6 colonne 7 colonne 8
chiffre >> chiffre >> chiffre >> chiffre >>>>> chiffre >> chiffre >> chiffre >> chiffre
. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
. >>>>>>>> fichier 1 >>>>>>>>>>>>>>>>>> . >>>>>>>>>>>>fichier 2
. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
chiffre >> chiffre >> chiffre >> chiffre >>>>> chiffre >> chiffre >> chiffre >> chiffre
Une petite indication utile, dans la colonne 2, chaque fichier part de 0 et croit jusqu'à un chiffre à virgule indéterminé.
Voilà j'ai une multitude de fichier excel avec en moyenne une centaine de fichiers. Je n'y connais rien en VBA et programmation excel, mais je suis débrouillard, alors soyez un minimum précis s'il vous plaît et ce serait gentil de m'aider vous ferez un heureux :).
Merci à vous.
Je suis actuellement en stage pour 3 mois et je voudrais un code qui ferait passer cette durée à 2 mois (ou moins si c'est possible).
Mon problème :
Mon logiciel exporte des données d'un fichier sous forme de quatre colonnes de chiffre en .csv. Lorsque j'ouvre silmutanément plusieurs fichiers pour aller plus vite, et que j'exporte en .csv, le logiciel me colle les quatre colonnes de chaque fichier "à la suite". Moi je voudrais les déplacer et les mettre côte à côte.
Un petit schéma :
Situation initiale :
colonne 1 colonne 2 colonne 3 colonne 4
chiffre >> chiffre >> chiffre >> chiffre
.
. fichier 1
.
chiffre >> chiffre >> chiffre >> chiffre
chiffre >> chiffre >> chiffre >> chiffre
.
. fichier 2
.
chiffre >> chiffre >> chiffre >> chiffre
But :
colonne 1 colonne 2 colonne 3 colonne 4 >>> colonne 5 colonne 6 colonne 7 colonne 8
chiffre >> chiffre >> chiffre >> chiffre >>>>> chiffre >> chiffre >> chiffre >> chiffre
. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
. >>>>>>>> fichier 1 >>>>>>>>>>>>>>>>>> . >>>>>>>>>>>>fichier 2
. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> .
chiffre >> chiffre >> chiffre >> chiffre >>>>> chiffre >> chiffre >> chiffre >> chiffre
Une petite indication utile, dans la colonne 2, chaque fichier part de 0 et croit jusqu'à un chiffre à virgule indéterminé.
Voilà j'ai une multitude de fichier excel avec en moyenne une centaine de fichiers. Je n'y connais rien en VBA et programmation excel, mais je suis débrouillard, alors soyez un minimum précis s'il vous plaît et ce serait gentil de m'aider vous ferez un heureux :).
Merci à vous.
A voir également:
- [Excel] Demande d'aide sur cas simple
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- 14 simple - Guide
26 réponses
Bonjour,
Mon logiciel exporte des données d'un fichier ??? lequel
Voilà j'ai une multitude de fichier excel avec en moyenne une centaine de fichiers certainement !!!!
alors soyez un minimum précis s'il vous plaît et vous ??
Mon logiciel exporte des données d'un fichier ??? lequel
Voilà j'ai une multitude de fichier excel avec en moyenne une centaine de fichiers certainement !!!!
alors soyez un minimum précis s'il vous plaît et vous ??
Bonjour,
C'est gentil de répondre, néanmoins je ne comprend pas votre réaction, j'ai essayé d'être un maximum précis sur le principe, quant au logiciel il ne vous dira absolument rien car très spécifique et réservé au monde industriel et je suis également soumis à des règles de confidentialité.
Ensuite, je vais essayé de résumer mon problème. Mon logiciel me sort chaque fichier sous forme de quatre colonne de chiffre, les uns à la suite des autres, et la seule manière de différencier le début de la fin d'un fichier c'est la récurrence de la deuxième colonne (qui va de zéro jusqu'à un nombre indéterminé).
Quand je demandais d'être précis, je pensais surtout à l'utilisation de la console VBA s'il y a besoin de rentrer du code.
Ce que je pense qu'il est possible de faire, c'est de créer un code qui sépare tous les fichiers (en repérant les lignes entre deux zéros de la deuxième colonne par exemple) et de me les décaler de manière à ce que la première ligne de chaque fichier (celle qui comporte le zéro à la deuxième colonne) s'ajuste avec la première ligne du fichier précédent mais quelques colonnes plus loin.
Est-ce assez précis ?
Merci de votre attention
C'est gentil de répondre, néanmoins je ne comprend pas votre réaction, j'ai essayé d'être un maximum précis sur le principe, quant au logiciel il ne vous dira absolument rien car très spécifique et réservé au monde industriel et je suis également soumis à des règles de confidentialité.
Ensuite, je vais essayé de résumer mon problème. Mon logiciel me sort chaque fichier sous forme de quatre colonne de chiffre, les uns à la suite des autres, et la seule manière de différencier le début de la fin d'un fichier c'est la récurrence de la deuxième colonne (qui va de zéro jusqu'à un nombre indéterminé).
Quand je demandais d'être précis, je pensais surtout à l'utilisation de la console VBA s'il y a besoin de rentrer du code.
Ce que je pense qu'il est possible de faire, c'est de créer un code qui sépare tous les fichiers (en repérant les lignes entre deux zéros de la deuxième colonne par exemple) et de me les décaler de manière à ce que la première ligne de chaque fichier (celle qui comporte le zéro à la deuxième colonne) s'ajuste avec la première ligne du fichier précédent mais quelques colonnes plus loin.
Est-ce assez précis ?
Merci de votre attention
Bonjour,
C'est gentil de répondre, néanmoins je ne comprend pas votre réaction
Ma reaction n'est pas épidermique, mais je vois que cette fois, vous avez ete tres precis dans votre demande. Il faut bien comprendre que nous ne voyons pas ce que vous faites, ni vos fichiers, donc l'expose de votre demande est capital pour que vous puissiez avoir une solution correspondant a votre attente.
Details supplementaires: quel excel avez-vous, fichier csv avec quel separateur ????
C'est gentil de répondre, néanmoins je ne comprend pas votre réaction
Ma reaction n'est pas épidermique, mais je vois que cette fois, vous avez ete tres precis dans votre demande. Il faut bien comprendre que nous ne voyons pas ce que vous faites, ni vos fichiers, donc l'expose de votre demande est capital pour que vous puissiez avoir une solution correspondant a votre attente.
Details supplementaires: quel excel avez-vous, fichier csv avec quel separateur ????
Bonjour,
Oui je comprend parfaitement que vous n'avez pas le même point de vu que moi mais je pensais avoir été assez précis dès le début. Enfin bref si vous comprenez un peu mieux mon cas maintenant, le but est atteint.
Je vais vous décrire comment je traite le csv pour le mettre en forme dans une feuille excel.
Assistant Importation de texte
Etape 2 sur 3 : Séparateur à virgule.
Etape 3 sur 3 : Avancé\Séparateur de décimale : un point "."
Version : Microsoft Office Professional Plus 2010
Oui je comprend parfaitement que vous n'avez pas le même point de vu que moi mais je pensais avoir été assez précis dès le début. Enfin bref si vous comprenez un peu mieux mon cas maintenant, le but est atteint.
Je vais vous décrire comment je traite le csv pour le mettre en forme dans une feuille excel.
Assistant Importation de texte
Etape 2 sur 3 : Séparateur à virgule.
Etape 3 sur 3 : Avancé\Séparateur de décimale : un point "."
Version : Microsoft Office Professional Plus 2010
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re,
un exemple de code, le bouton import_fichier peut vous servir si le fichier importe a toujours le meme nom. J'ai teste avec un fichier csv separateur ".". A vous de tester et de rendre compte.
https://www.cjoint.com/c/CGkpJlssIHo
A+
un exemple de code, le bouton import_fichier peut vous servir si le fichier importe a toujours le meme nom. J'ai teste avec un fichier csv separateur ".". A vous de tester et de rendre compte.
https://www.cjoint.com/c/CGkpJlssIHo
A+
Salut,
merci pour votre aide !
Alors, tout d'abord, j'ai besoin d'un séparateur à virgule pour mes fichiers .csv, si vous me dites comment faire je peux aller changer cela.
Sinon, j'ai copier mon csv dans les colonnes A, B, C, D, et appuyé sur Traitement_Fichier; ça a fait quelque chose mais alors pour comprendre ce que ça a fait... Il a découpé certaine partie du fichier et les a décalé en haut à droite, c'est tous ce que je peux dire.
merci pour votre aide !
Alors, tout d'abord, j'ai besoin d'un séparateur à virgule pour mes fichiers .csv, si vous me dites comment faire je peux aller changer cela.
Sinon, j'ai copier mon csv dans les colonnes A, B, C, D, et appuyé sur Traitement_Fichier; ça a fait quelque chose mais alors pour comprendre ce que ça a fait... Il a découpé certaine partie du fichier et les a décalé en haut à droite, c'est tous ce que je peux dire.
Bonjour,
Je vais vous décrire comment je traite le csv pour le mettre en forme dans une feuille excel.
Assistant Importation de texte
Etape 2 sur 3 : Séparateur à virgule
Etape 3 sur 3 : Avancé\Séparateur de décimale : un point "."
Vous pouvez faire l'import directement comme ci-dessus sur la feuil1
pour la macro Import_fichier: remplacez le "." par "," voir ci-dessous
.TextFileOtherDelimiter = ","
si vous voulez l'utiliser.
ça a fait quelque chose mais alors pour comprendre ce que ça a fait... Il a découpé certaine partie du fichier et les a décalé en haut à droite, c'est tous ce que je peux dire. Sauf erreur de ma part cela fait ce que vous avez demande:
feuil1----> donnees importees
feuil2----> decoupage des donnees importees par paquets "entre" deux 0 via le code associe au bouton (VBA feuil1)
La localisation des donnees decoupees est peut-etre a discuter.
Le code est commente pour le bouton Traitement_Fichier, vous pourrez comprendre ce qui se passe.
A+
Je vais vous décrire comment je traite le csv pour le mettre en forme dans une feuille excel.
Assistant Importation de texte
Etape 2 sur 3 : Séparateur à virgule
Etape 3 sur 3 : Avancé\Séparateur de décimale : un point "."
Vous pouvez faire l'import directement comme ci-dessus sur la feuil1
pour la macro Import_fichier: remplacez le "." par "," voir ci-dessous
.TextFileOtherDelimiter = ","
si vous voulez l'utiliser.
ça a fait quelque chose mais alors pour comprendre ce que ça a fait... Il a découpé certaine partie du fichier et les a décalé en haut à droite, c'est tous ce que je peux dire. Sauf erreur de ma part cela fait ce que vous avez demande:
feuil1----> donnees importees
feuil2----> decoupage des donnees importees par paquets "entre" deux 0 via le code associe au bouton (VBA feuil1)
La localisation des donnees decoupees est peut-etre a discuter.
Le code est commente pour le bouton Traitement_Fichier, vous pourrez comprendre ce qui se passe.
A+
Bonjour,
Le séparateur de décimale est bien un point, mais le séparateur de colonne est une virgule.
Ca découpe et ça déplace au bon endroit, mais pas par paquet de fichier (colonne 2, de 0 à chiffre indéterminé).
Je vais essayer de corriger moi même, j'ai fait un peu de C++ fut un temps, j'ai juste une question :
Comment puis-je modifier le code derrière les boutons ? :)
merci
Le séparateur de décimale est bien un point, mais le séparateur de colonne est une virgule.
Ca découpe et ça déplace au bon endroit, mais pas par paquet de fichier (colonne 2, de 0 à chiffre indéterminé).
Je vais essayer de corriger moi même, j'ai fait un peu de C++ fut un temps, j'ai juste une question :
Comment puis-je modifier le code derrière les boutons ? :)
merci
Re,
Dans ce que je vous ai donne: debut fichier 0 colonne 2 et fin de fichier ligne avant 0 suivant.
A+
Dans ce que je vous ai donne: debut fichier 0 colonne 2 et fin de fichier ligne avant 0 suivant.
A+
Re,
pour acceder au code VBA:
appuyez sur alt+F11
en haut a gauche: double clic sur feuil1
code dans fenetre de droite
comment sont decoupees vos fichiers ??? A quel endroit avez-vous le 0 colonne 2
votre 0: c'est 0 ou 0,00 ou ??
A+
pour acceder au code VBA:
appuyez sur alt+F11
en haut a gauche: double clic sur feuil1
code dans fenetre de droite
comment sont decoupees vos fichiers ??? A quel endroit avez-vous le 0 colonne 2
votre 0: c'est 0 ou 0,00 ou ??
A+
Bonjour,
Mon 0 est un "0.00".
Je vous envoie un .csv, les colonnes se séparent par virgule, et les points sont les virgules des nombres décimaux (excel en français ne comprend pas les chiffre à point, alors je les change en virgule).
http://cjoint.com/?3GlkCVLEV2q
Merci
Mon 0 est un "0.00".
Je vous envoie un .csv, les colonnes se séparent par virgule, et les points sont les virgules des nombres décimaux (excel en français ne comprend pas les chiffre à point, alors je les change en virgule).
http://cjoint.com/?3GlkCVLEV2q
Merci
Re,
Il est donc normal que la decoupe ne soit pas bonne: 0 c'est pas 0.00
je vous modifie la chose avec ou sans les entetes de colonnes ???
A+
Il est donc normal que la decoupe ne soit pas bonne: 0 c'est pas 0.00
je vous modifie la chose avec ou sans les entetes de colonnes ???
A+
Re,
AAAh ok, Excel modifie le 0.00 en 0 quand on importe le csv, je comprend maintenant que le code s'applique au .csv brut.
Avec les entêtes des colonnes ce serait parfait :).
Merci
AAAh ok, Excel modifie le 0.00 en 0 quand on importe le csv, je comprend maintenant que le code s'applique au .csv brut.
Avec les entêtes des colonnes ce serait parfait :).
Merci
Re,
fichier modifie et teste avec votre fichier csv (bouton import invalidé), si vous avez besoin de l'utiliser, faites signe
https://www.cjoint.com/c/CGlls18s2fe
A+
fichier modifie et teste avec votre fichier csv (bouton import invalidé), si vous avez besoin de l'utiliser, faites signe
https://www.cjoint.com/c/CGlls18s2fe
A+
Ouaah nickel, ça marche au poil ! Merci encore !
Mon travail maintenant c'est de faire un graphique avec en X la colonne 2 et en Y la colonne 3, de chaque fichier, est-ce qu'une macro est envisageable dans ce cas ?
Mon travail maintenant c'est de faire un graphique avec en X la colonne 2 et en Y la colonne 3, de chaque fichier, est-ce qu'une macro est envisageable dans ce cas ?
Bonjour,
Oui, deux codes pour que vous puissiez y reflechir:
il faut que le separateur de decimal de vos donnees corresponde a celui d'excel
'pour un graph:
'pas modifie pour votre fichier
Oui, deux codes pour que vous puissiez y reflechir:
il faut que le separateur de decimal de vos donnees corresponde a celui d'excel
'pour un graph:
Sub Test_new_sheet()
Set new_sheet = Charts.Add
new_sheet.Name = "L1"
new_sheet.ChartType = xlLineMarkers
new_sheet.SeriesCollection.NewSeries
new_sheet.SetSourceData Source:=Range("feuil2!B2:C240")
new_sheet.SeriesCollection(1).XValues = "=Feuil2!$B$2:$B$240"
new_sheet.SeriesCollection(1).Name = "=Feuil2!$C$1"
End Sub
'pas modifie pour votre fichier
Sub Test_same_sheet()
Dim Grf As ChartObject
Dim Sh As Worksheet
Set Sh = Sheets("feuil1")
'EDIT On supprime le graphique nommé Toto de la feuille Données
For Each Grf In Sh.ChartObjects
If Grf.Name = "Toto" Then
Grf.Delete
Exit For
End If
Next Grf
'On crée notre graphique
Set Grf = Sh.ChartObjects.Add(140, 10, 500, 300)
Grf.Name = "Toto"
With Grf.Chart
.ChartType = xlLineMarkers
.SeriesCollection.NewSeries
With .SeriesCollection(1)
.Values = Sh.Range("B2:B14")
.XValues = Sh.Range("A2:A14")
End With
End With
Set Grf = Nothing
Set Sh = Nothing
End Sub