A voir également:
- Une Feuille en virgule une autre en point dans le même fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Renommer plusieurs fichiers en même temps - Guide
2 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
25 oct. 2016 à 22:59
25 oct. 2016 à 22:59
Bonjour,
Tu devrais pouvoir le faire avec ctrl+h ou fonction "Remplacer" dans le menu.
Tu "remplaces tout" le "." par "," tu sauvegardes et tu refais la modification à l'envers.
Tu devrais pouvoir le faire avec ctrl+h ou fonction "Remplacer" dans le menu.
Tu "remplaces tout" le "." par "," tu sauvegardes et tu refais la modification à l'envers.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
26 oct. 2016 à 10:02
26 oct. 2016 à 10:02
Bonjour,
Effectivement avec les formules c'est moins évident, alors va pour la macro :
Tu remplaces
Si c'est toujours le même tu peux remplacer :
par
Effectivement avec les formules c'est moins évident, alors va pour la macro :
Public Sub sauve_virgule() Dim cel As Range, wk As Worksheet, fic Set wk = Sheets("ATC") wk.Copy wk.UsedRange.Copy ActiveSheet.Range("A1").PasteSpecial xlPasteValues For Each cel In ActiveSheet.UsedRange.Cells If InStr(1, cel, ".") Then cel.Value = Replace(cel.Value, ".", ",") Next cel Application.DisplayAlerts = False With Application.FileDialog(msoFileDialogFilePicker) .InitialFileName = "C:\temp\Classeur1.txt" .Show If .SelectedItems.Count Then ActiveWorkbook.SaveAs Filename:=.SelectedItems(1), FileFormat:=xlText End With ActiveWorkbook.Close SaveChanges:=False Application.DisplayAlerts = True End Sub
Tu remplaces
"C:\temp\Classeur1.txt"par ton répertoire et fichier de sauvegarde.
Si c'est toujours le même tu peux remplacer :
With ... End With
par
ActiveWorkbook.SaveAs Filename:= "C:\temp\Classeur1.txt", FileFormat:=xlText
Salut alors donc j'ai réécrit ta macro comme ca :
Sub Test()
Dim cel As Range, wk As Worksheet, fic
Set wk = Sheets("ACT")
wk.Copy
wk.UsedRange.Copy
ActiveSheet.Range("A1").PasteSpecial xlPasteValues
For Each cel In ActiveSheet.UsedRange.Cells
If InStr(1, cel, ".") Then cel.Value = Replace(cel.Value, ".", ",")
Next cel
Application.DisplayAlerts = False
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "Y:\Cédric\Aide de production\Programmation\Test.txt"
.Show
If .SelectedItems.Count Then ActiveWorkbook.SaveAs Filename:=.SelectedItems(1), FileFormat:=xlText
End With
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
du coup la il me demande le fichier dans le quelle je veux l’enregistrer même si le \Test.txt et déjà écrit et quand je l'ouvre il ne ma toujours pas remplacer les "." en ",".
Sub Test()
Dim cel As Range, wk As Worksheet, fic
Set wk = Sheets("ACT")
wk.Copy
wk.UsedRange.Copy
ActiveSheet.Range("A1").PasteSpecial xlPasteValues
For Each cel In ActiveSheet.UsedRange.Cells
If InStr(1, cel, ".") Then cel.Value = Replace(cel.Value, ".", ",")
Next cel
Application.DisplayAlerts = False
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "Y:\Cédric\Aide de production\Programmation\Test.txt"
.Show
If .SelectedItems.Count Then ActiveWorkbook.SaveAs Filename:=.SelectedItems(1), FileFormat:=xlText
End With
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
du coup la il me demande le fichier dans le quelle je veux l’enregistrer même si le \Test.txt et déjà écrit et quand je l'ouvre il ne ma toujours pas remplacer les "." en ",".
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
>
Cedric V
26 oct. 2016 à 18:00
26 oct. 2016 à 18:00
Bonsoir,
Essaies comme ceci, tu devrais avoir de virgules....
Essaies comme ceci, tu devrais avoir de virgules....
Sub Test() Dim cel As Range, wk As Worksheet, fic Set wk = Sheets("ACT") wk.Copy wk.UsedRange.Copy ActiveSheet.Range("A1").PasteSpecial xlPasteValues For Each cel In ActiveSheet.UsedRange.Cells If InStr(1, cel, ".") Then cel.Value = Replace(cel.Value, ".", ",") Next cel Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="Y:\Cédric\Aide de production\Programmation\Test.txt", FileFormat:=xlText ActiveWorkbook.Close SaveChanges:=False Application.DisplayAlerts = True End Sub
Donc ça me sauvegarde bien le fichier mais toujours pas de virgule. Ça doit venir de mes formules du coup j'ai penser a une autre solution mais encore une foi j'aurais besoin de ton aide pour crée la macro car je n'y connais rien en macro.
1/ Il faudrait donc qu'il me crée a partir de "ACT" un fichier au format .csv (séparateur: point virgule) qui serait par exemple: "Y:\Cédric\Aide de production\Programmation\ACT.csv" (car je sais quand csv les formules disparaisse et qu'il ne garde que les nombres qu'il y avait a l'intérieurs des cases.)(ici le fichier de sauvegarde sera toujours le même écraser a chaque foi)
2/ Une foi crée qu'il l'ouvre et qu'il utilise ta formule pour les changement point en virgule
3/ qu'il me demande ou l'enregistrer en .txt
Vraiment désolé du dérangement que je te cause.
1/ Il faudrait donc qu'il me crée a partir de "ACT" un fichier au format .csv (séparateur: point virgule) qui serait par exemple: "Y:\Cédric\Aide de production\Programmation\ACT.csv" (car je sais quand csv les formules disparaisse et qu'il ne garde que les nombres qu'il y avait a l'intérieurs des cases.)(ici le fichier de sauvegarde sera toujours le même écraser a chaque foi)
2/ Une foi crée qu'il l'ouvre et qu'il utilise ta formule pour les changement point en virgule
3/ qu'il me demande ou l'enregistrer en .txt
Vraiment désolé du dérangement que je te cause.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
27 oct. 2016 à 09:12
27 oct. 2016 à 09:12
bonjour,
ça me sauvegarde bien le fichier mais toujours pas de virgule
Dans ce cas tu n'as pas de point non plus.
car je sais quand csv les formules disparaisse et qu'il ne garde que les nombres qu'il y avait a l'intérieurs des cases
Dans le fichier que je te crées il n'y a pas non plus de formule, pas besoin de passer par csv.
Le mieux serait de me fournir ton classeur de départ sans éléments personnels, pour voir ce qui ne va pas,
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
ça me sauvegarde bien le fichier mais toujours pas de virgule
Dans ce cas tu n'as pas de point non plus.
car je sais quand csv les formules disparaisse et qu'il ne garde que les nombres qu'il y avait a l'intérieurs des cases
Dans le fichier que je te crées il n'y a pas non plus de formule, pas besoin de passer par csv.
Le mieux serait de me fournir ton classeur de départ sans éléments personnels, pour voir ce qui ne va pas,
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ (mode d'emploi) et tu mets ici le lien obtenu.
26 oct. 2016 à 08:15