pb dans macro

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:D60').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=30
Range('A88:D97').Select
Selection.EntireRow.Delete
ActiveWindow.SmallScroll Down:=45
Range('A1:A133').Select
Selection.RowHeight = 25
End Sub
 

soft

XLDnaute Occasionnel
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.
 

soft

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 304
Messages
2 087 059
Membres
103 444
dernier inscrit
Aeggie78