copy d'une feuille modele avec un bouton

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 !

Re : copy d'une feuille modele avec un bouton

Bonsoir yblotiere, Staple.


Code:
Sub Creer_Feuilles()
Dim MaCellule As Range, Mysheet As Worksheet, MyName$
Range("A5", Range("A5").End(xlDown)).Select
For Each MaCellule In Selection 'liste des immats
MyName = MaCellule.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Copy.Sheets("saisi GO MODELE").Copy After:=Sheets(1)
Sheets("saisi GO MODELE 2").Copy After:=Sheets(1) = "Saisi go " & MyName
End If
Next MaCellule
Sheets("creation").Select
Range("A5", Range("A5").End(xlDown)).Select
For Each MaCellule In Selection 'liste des immats
MyName = MaCellule.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Copy.Sheets("ventil MODELE").Copy After:=Sheets(1)
Sheets("ventil MODELE 2").Copy After:=Sheets(1) = "Ventil " & MyName
End If
Next MaCellule
End Sub

Je suppose que MyName$ = Range("A5", Range("A5").End(xlDown)).Select.




Une idée (lignes à modifier)
Met les noms de feuille en Majuscule comme on les vois dans le classeurs.

Dim MaCellule As Range, Mysheet As Worksheet, MyName$

MaCellule = Sheets("creation").Range("A5", Range("A5").End(xlDown)).Text
MaCellule.Select


Au lieu de Sheets("creation").Select ( Select répétitifs )

Dim sh As Worksheet

Set sh = Feuil23 (qui est Sheets("Creation"))
sh.Range("A5", Range("A5").End(xlDown)).Select.

Pour les copies

Sheets.Copy.Sheets("ventil MODELE").Copy After:=Sheets(1)
Il y a deux fois Sheets.Copy.

EDIT: Regarde si le fichier joint peut t'aider.


A+ 😎
 

Pièces jointes

Dernière édition:
Re : copy d'une feuille modele avec un bouton

re
merci à tous les 2
mais je me suis embrouillé dans le code je crois
j'ai un message erreur de compilation a ce niveau

Code:
If Mysheet Is Nothing Then Sheets.Copy.Sheets("Saisi Go Modele").Copy After:=Sheets(1)

voici le code que j'ai

Code:
Sub Creer_Feuilles()
Dim MaCellule As Range, Mysheet As Worksheet, MyName$
Range("A5", Range("A5").End(xlDown)).Select
Dim sh As Worksheet
Set sh = Feuil23
sh.Range("A5", Range("A5").End(xlDown)).Select
MaCellule = Sheets("creation").Range("A5", Range("A5").End(xlDown)).Text
MaCellule.Select
For Each MaCellule In Selection 'liste des immats
MyName = MaCellule.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Copy.Sheets("Saisi Go Modele").Copy After:=Sheets(1)
Sheets("saisi Go Modele 2").Copy After:=Sheets(1) = "Saisi Go " & MyName
End If
Next MaCellule
Sheets("Creation").Select
Range("A5", Range("A5").End(xlDown)).Select
For Each MaCellule In Selection 'liste des immats
MyName = MaCellule.Value
If MyName <> "" Then
On Error Resume Next
Set Mysheet = Sheets(MyName)
On Error GoTo 0
If Mysheet Is Nothing Then Sheets.Copy.Sheets("Ventil MODELE").Copy After:=Sheets(1)
Sheets("ventil MODELE 2").Copy After:=Sheets(1) = "Ventil " & MyName
End If
Next MaCellule
End Sub

merci

yannick
 
Re : copy d'une feuille modele avec un bouton

Re,


Ceci est incorrect
MaCellule = Sheets("creation").Range("A5", Range("A5").End(xlDown)).Text
MaCellule.Select

Cela devrait être
Set MaCellule = Sheets("creation").Range("A5", Range("A5").End(xlDown))
MaCellule.Select

Puisque on au début du code
Dim MaCellule As Range
 
Re : copy d'une feuille modele avec un bouton

re

j'ai corrigé ce que tu m'a donné
le message arrive o niveau du copy
il m'affiche une erreur fonction ou variable attendue

Code:
If Mysheet Is Nothing Then Sheets.Copy.Sheets("Saisi Go Modele").Copy After:=Sheets(1)

je remet le fichier en piece jointe

merci pour votre aide

yannick
 

Pièces jointes

Re : copy d'une feuille modele avec un bouton

Rebonjour yblotiere, Staple.

If Mysheet Is Nothing Then Sheets.Copy.Sheets("Saisi Go Modele").Copy After:=Sheets(1)

Sheets.Copy.Sheets("Saisi Go Modele").Copy After:=Sheets(1): ici tu dis copie la feuille xxx copie. C'EST FAUX!

Sheets("Saisi Go Modele") = Feuil10 par exemple, regarde le numéro de la feuille et tu fais comme ceci.

Feuil10.[A2:M65536].Copy Feuil12.[A2]; Feuil12 est la feuille qui reçois les données.

EDIT: c'est juste un exemple

Code:
Private Sub Workbook_Open()
Dim ws As Worksheet, w As Worksheet
Set w = Feuil1
Set ws = Feuil2

w.[A2:M65536].Copy ws.[A2]

End Sub



A+ 😎

GROS BISOUS STAPLE! 😱 😉
 
Dernière édition:
Re : copy d'une feuille modele avec un bouton

Re yblotière,

Voici un code basic pour copier et renommer une nouvelle feuille.


Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sheets("Feuil1").Copy After:=Sheets("Feuil3"): Sheets("Feuil1").Name = "Test Copie"
End Sub

Et un plus court (enfin si on veux)

Dim ws As Worksheet, w As Worksheet
Set ws = Sheets("Feuil1)
Set w = Sheets("Feuil3)

ws.copy After:=w: ws.Name = "Test Copie"


A+ 😎
 
- 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

Discussions similaires

Réponses
3
Affichages
326
Réponses
3
Affichages
313
Retour