XL 2013 Problème récupération contenu Textbox

flolac

XLDnaute Nouveau
Bonjour,

pourriez-vous me venir en aide, je ne trouve pas l'erreur dans ma macro.

quand je clique sur mon bouton, ma macro Csv se lance et j'ai un premier userform qui s'ouvre (détail sous la macro)
quand j'affiche le contenu msgbox à l’intérieur du userform j'ai bien mon contenu par contre une fois le userform fermé, je perds le contenu et mon fichier s'enregistre sous "prévisions_.csv"

je n'arrive pas à voir c qui cloche, merci de bien vouloir me venir en aide?

Macro Csv

Sub Csv()

Sheets("prévisions").Select
UserForm1.Show
MsgBox semaine
ActiveWorkbook.SaveAs Filename:= _
"\\serv-orm-hypv-1\REP\_K_REP\Suivi_Rep\2-KPI-2020-HZN\1-Pilotage-activité-Stat_Glob-BO\PLANNING\prévisions_" & semaine & ".csv" _
, FileFormat:=xlCSV, CreateBackup:=False


' Sheets("prévisions_" & semaine & ").Select
' Sheets("prévisions_" & semaine & ").Name = "prévisions"

Sheets("prévisions_").Select
Sheets("prévisions_").Name = "prévisions"

UserForm2.Show
ActiveWorkbook.SaveAs Filename:= _
"\\serv-orm-hypv-1\REP\_K_REP\Suivi_Rep\2-KPI-2020-HZN\3-Suivi-encours-mensuel\Suvi_activité-Stat-Glob_" & mois & ".xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Sheets("Planification OPT-WLN-WLS").Select
End Sub


détail du userform1

Private Sub semaine_Change()
semaine.Text = UCase(semaine.Text)
End Sub

Private Sub Valider_Click()
UserForm1.Hide
semaine = semaine.Value
MsgBox semaine
End Sub
 

fanch55

XLDnaute Barbatruc
Salut, c'est tout à fait normal :
Ton userform a un Textbox "Semaine" qui n'est connu que par le Userform .

Dans ta macro, si tu fais appel à Semaine, cela fait référence à une Variable Semaine dans la portée de ta macro et non pas au Textbox Semaine de ton userform .

Dans ton Csv, il faut faire appel à Userform1.Semaine .
 

flolac

XLDnaute Nouveau
Bonjour,

une dernière question, mon Csv s'enregistre en séparateur , au lieu de séparateur ; si je le fais manuellement c'est bon, une idée?

Sub Csv()

Sheets("prévisions").Select

UserForm1.Show

ActiveWorkbook.SaveAs Filename:= _
"\\serv-orm-hypv-1\REP\_K_REP\Suivi_Rep\2-KPI-2020-HZN\1-Pilotage-activité-Stat_Glob-BO\PLANNING\prévisions_" & UserForm1.semaine & ".csv" _
, FileFormat:=xlCSV, CreateBackup:=False


ActiveSheet.Select
ActiveSheet.Name = "prévisions"

UserForm2.Show

ActiveWorkbook.SaveAs Filename:= _
"\\serv-orm-hypv-1\REP\_K_REP\Suivi_Rep\2-KPI-2020-HZN\3-Suivi-encours-mensuel\Suvi_activité-Stat-Glob_" & UserForm2.mois & ".xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Sheets("Planification OPT-WLN-WLS").Select

End Sub

merci
Cordialement
 

fanch55

XLDnaute Barbatruc
Ah, j'avais pas compris le pb.
Tu veux sauvegarder ton fichier csv avec des virgules et non pas des points virgules.
C'est malheureusement dépendant de tes paramètre régionaux dans le système .
1589920309796.png

Que tu sauvegardes par excel en spécifiant des Csv avec virgules ou points-virgules, le format définitif répondra toujours au séparateur de liste du système.
Je ne te conseille pas de le modifier, car sinon tu devras le modifier sans cesse pour importer/exporter des fichiers avec des points virgules ou des virgules .
Il vaut mieux sauvegarder en tant que csv, de relire le fichier, de remplacer tous les ";" par des "," et de le ré-écrire ( je sais, c'est ch...). Je n'ai pas trouvé le moyen jusqu'alors de modifier ce paramètre temporairement, peut-être un autre intervenant aurait l'astuce ...
Je te laisse chercher comment réécrire le fichier, si tu n'y arrives pas, je t'aiderai par la suite.
 

flolac

XLDnaute Nouveau
bonjour Fanch55,

en fait mon fichier s'enregistre en "," et non ";" c'est ça mon soucis. Mes paramètres régionaux sont bons...
j'ai fait un fichier light avec la macro et le résultat...
 

Pièces jointes

  • fichier_support_XLDownload.xlsm
    30.2 KB · Affichages: 8

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou