copy d'une feuille modele avec un bouton

yblotiere

XLDnaute Occasionnel
Bonjour

lorsque j'appuie sur mon bouton qui doit copier les feuille modèle en prenant l'immat dans ma liste
j'ai un message d"erreur je vous joint mon fichier c'est une copie

merci pour votre aide

yannick
 

Pièces jointes

  • Gaz oil V1.xlsm
    582.7 KB · Affichages: 290
  • Gaz oil V1.xlsm
    582.7 KB · Affichages: 288
  • Gaz oil V1.xlsm
    582.7 KB · Affichages: 287

Lone-wolf

XLDnaute Barbatruc
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+ :cool:
 

Pièces jointes

  • Inserer_et_Renommer_Nouvelle_Feuille.zip
    23.7 KB · Affichages: 55
Dernière édition:

yblotiere

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

Staple1600

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

yblotiere

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

  • Gaz oil V2.xlsm
    582.3 KB · Affichages: 403

Lone-wolf

XLDnaute Barbatruc
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+ :cool:

GROS BISOUS STAPLE! :eek: ;)
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
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+ :cool:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 050
dernier inscrit
Pepito93100