creer un nouvel onglet

  • Initiateur de la discussion Initiateur de la discussion alexou4281
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

alexou4281

Guest
bonjour

Je voudrai apres avoir demander à l'utilisateur d'ouvrir des fichiers.txt que ces fichiers ouvrent à la suite dans un meme classeur sur 3 onglets (si 3 fichiers sont ouverts)..Avec ce prog, il y a 3 classeurs qui s'ouvrent.

Je demarre dans la prog vba alors j'ai commencé un code mais pas joli joli.
si vous avez des suggestions? je pense faire une boucle DO pour enlver les 2 repetitions mais je sais pas comment la formuler..
Merci de votre aide

Sub conversionetouverture()
On Error Resume Next

'Déclaration des variables
Dim reponse As Integer

'Ouverture du fichier, et conversion en classeur excel,

fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

reponse = InputBox("VOulez vous ouvrir un autre fichier:", vbYesNo)

If reponse = vbNo Then Exit Sub
Sheets(Worksheets.Count).Copy After:=Sheets(Worksheets.Count)
fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

reponse = InputBox("VOulez vous ouvrir un autre fichier:", vbYesNo)

If reponse = vbNo Then Exit Sub
fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

End Sub
 
Re : creer un nouvel onglet

Bonjour alexou4281,

voici ton code avec la boucle Do.... Loop

Sub conversionetouverture()
On Error Resume Next

'Déclaration des variables
Dim reponse As Integer

'Ouverture du fichier, et conversion en classeur excel,

fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

Do
reponse = InputBox("VOulez vous ouvrir un autre fichier:", vbYesNo)

If reponse = vbNo Then Exit Do
Sheets(Worksheets.Count).Copy After:=Sheets(Worksheets.Count)
fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

Loop

End Sub
 
Re : creer un nouvel onglet

ça marche pas..

On me demande toujours si je veux ouvrir un autre fichier meme quand je click sur annuler. Le systeme tourne en boucle sans jamais s'arreter.
En plus, il m'ouvre encore les fichiers sur differentes feuilles alors que j'aimerai utiliser qu'une seule fueille et differents onglets.

Merci
 
Re : creer un nouvel onglet

Re,

il faut au préalable enregistrer le fichier temporaire créé lors de la 1ere conversion puis démarrer la boucle en remettant le code d'ouverture et conversion après "l'inputbox" puis fermer le fichier texte en fin de boucle:
 
Re : creer un nouvel onglet

je suis dsl mais je comprends pas ce que tu me racontes.

Tu pourrais me rexpliquer stp.😱
merci

j'ai changé le sub et je reste avec ça:
Pourquoi ça fonctionne pas (FOnctionne qu'une seule fois qd je clik sur Accepter)

Sub conversionetouverture()
On Error Resume Next

'Déclaration des variables
Dim reponse As Integer


Do
reponse = InputBox("VOulez vous ouvrir un autre fichier:", vbYesNo)
If reponse = vbNo Then Exit Do

fichier = Application.GetOpenFilename("Fichiers texte (*.txt),*.txt", , "Choisir un fichier *.txt")
Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, _
StartRow:=95, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False, Space:=True, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True

Loop While reponse = vbYes

End Sub
 
Dernière modification par un modérateur:
Re : creer un nouvel onglet

Ya qq'un svp..je suis en rade et je comprends pas mon erreur..😕

Je pense que le probleme doit venir de vbYesNo. Quand on appuye sur la touche accpeter, la traduction informatique est bien un Yes?
Touche Annuler la traduction informatique est bien un NO?

Faut t'il initlialiser des valeurs? quelles sont les valeurs ASCII de ces touches?

Je rame à fond et je coule..j'arrive pas à trouver d'aide m'expliquant comment faire...p etre je m'y prends mal.

Merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
718
Réponses
1
Affichages
932
Réponses
9
Affichages
1 K
Réponses
2
Affichages
1 K
S
Réponses
3
Affichages
850
J
Réponses
22
Affichages
3 K
jui42
J
Réponses
2
Affichages
1 K
L
  • Question Question
Réponses
11
Affichages
2 K
LaSimonerie
L
J
Réponses
2
Affichages
858
C
Réponses
11
Affichages
2 K
C
Réponses
13
Affichages
2 K
Retour