• Initiateur de la discussion Initiateur de la discussion darib52
  • 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 !

D

darib52

Guest
bonjour à tous,
j'ai un p'tit souci dans la macro qui suit.
je dois copier une sélection word dans une feuille excel. pas de pb.
pour celà j'utilise une feuille nommée 'modele'.
la macro ci-dessous réalise bien cette opération .
mais en plus, elle créée à chaque fois une nouvelle feuille 'feuil1'
j'imagine que ça a à voir avec 'sheets-add' mais je n'arrive pas à supprimer la création de cette feuille supplémentaire.
si l'un d'entre vous pouvait me donner la solution.
merci d'avance.
amicalement

Sub Bouton2_QuandClic()
Dim Wrd As Object

Application.ScreenUpdating = False

Set Wrd = CreateObject('word.application')
Wrd.Visible = False
monChemin = InputBox('Saisissez le chemin complet', '')
Wrd.documents.Open (monChemin)
Wrd.Selection.WholeStory
Wrd.Selection.Copy
Sheets('modele').Copy after:=ActiveWorkbook.Sheets.Add
Do
Nom = InputBox('Entrez un nom pour la nouvelle feuille :')
If Nom = '' Then Exit Sub
On Error Resume Next
Set sht = Sheets(Nom)
If Err <> 0 Then

ActiveSheet.Name = Nom
Err.Clear: Exit Do
Else
MsgBox 'Une feuille de ce nom existe déjà !'
End If
Loop
Range('a1').Select
ActiveSheet.Paste
Wrd.Application.Quit
Range('G7').Select
Columns('A:A').ColumnWidth = 34.86
ActiveWindow.SmallScroll Down:=48
Range('A53😀60').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=30
Range('A88😀97').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=45
Range('A1:A133').Select
Selection.RowHeight = 25
End Sub
 
A lire comme ça, le code copie la feuille Modèle avant de demander le nom :

....
Sheets('modele').Copy after:=ActiveWorkbook.Sheets.Add

Si tu supprimes toutes les lignes depuis

Code:
Sheets('modele').Copy after:=ActiveWorkbook.Sheets.Add
jusqu'à

Code:
Loop
donc, en reprenant à :

Code:
Range('a1').Select
Tu copiera sur la feuille active.
 
J'ai cru que tu souhaitais copier dans la feuille en cours ...

Si c'est bien le cas, mais que veux quand même changer de nom, rajoute :

Code:
Nom = InputBox('Entrez le nom pour la feuille en cours :') 
If Nom <> '' Then ActiveSheet.Name = Nom
 
Salut
Je t'ai répondu hier am mais je ne vois pas ma réponse sinon je disais
tu remplaces ton instruction ' Sheets('modele').Copy after:=ActiveWorkbook.Sheets.Add

par simplement : sheets.add
Sheets.activate
etc.....

j'ai testé ca marche

A+
Hervé
 
- 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

J
Réponses
22
Affichages
3 K
jui42
J
Retour