Ajout d'une nouvelle feuille à un classeur
N3v4dA
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
n3v4d4 -
n3v4d4 -
Bonjour, à tous
Alors voici mon problème :
J'aimerais pouvoir ajouté des feuilles les une après les autres, (test de charge) et en utilisant une feuille de référence (feuil1) qui est la structure de base.
Cependant les onglets doivent se nommer SV & "_" & Fw (correspondant à une version de server et un firmware de caméra).
Bref voici ce que j'utilise : Cela ne m'ajoute pas une copie de la feuille, mais remplace celle existante au bout du 2ème test: HELP !
Le problème doit surement venir de la ligne en gras mais je ne sais comment la résoudre.
'-----------------------Lancement du premier test---------------------------
'Si le répertoire n'existe pas alors
If (Dir(sPath & "Resultats\" & Newrep, vbDirectory)) = "" Then
MsgBox ("Le repertoire n'existe pas")
'Crée un repertoire en fonction de Reso1 - Reso2 - Processeur
MkDir (sPath & "Resultats\" & Newrep)
'Copie la feuille active en dernière position
ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Sheets.Count)
'La feuille prend le nom de la version du server et du firmware de la caméra
ActiveSheet.Name = SV & "_" & Fw
Else
'---------Lancement du 2ème test avec argument "SV ou FW" différents -----------
'Si non si le répertoire existe déjà alors
If (Dir(sPath & "Resultats\" & Newrep, vbDirectory)) = Newrep Then
MsgBox ("Le repertoire existe déjà")
'Ajout un onglet au classeur existant
ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Sheets.Count)
ActiveSheet.Name = SV & "_" & Fw
End If
End If
Cordialement
Alors voici mon problème :
J'aimerais pouvoir ajouté des feuilles les une après les autres, (test de charge) et en utilisant une feuille de référence (feuil1) qui est la structure de base.
Cependant les onglets doivent se nommer SV & "_" & Fw (correspondant à une version de server et un firmware de caméra).
Bref voici ce que j'utilise : Cela ne m'ajoute pas une copie de la feuille, mais remplace celle existante au bout du 2ème test: HELP !
Le problème doit surement venir de la ligne en gras mais je ne sais comment la résoudre.
'-----------------------Lancement du premier test---------------------------
'Si le répertoire n'existe pas alors
If (Dir(sPath & "Resultats\" & Newrep, vbDirectory)) = "" Then
MsgBox ("Le repertoire n'existe pas")
'Crée un repertoire en fonction de Reso1 - Reso2 - Processeur
MkDir (sPath & "Resultats\" & Newrep)
'Copie la feuille active en dernière position
ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Sheets.Count)
'La feuille prend le nom de la version du server et du firmware de la caméra
ActiveSheet.Name = SV & "_" & Fw
Else
'---------Lancement du 2ème test avec argument "SV ou FW" différents -----------
'Si non si le répertoire existe déjà alors
If (Dir(sPath & "Resultats\" & Newrep, vbDirectory)) = Newrep Then
MsgBox ("Le repertoire existe déjà")
'Ajout un onglet au classeur existant
ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Sheets.Count)
ActiveSheet.Name = SV & "_" & Fw
End If
End If
Cordialement
A voir également:
- Ajout d'une nouvelle feuille à un classeur
- Darkino nouvelle adresse - Guide
- Extreme download nouvelle adresse - Accueil - Outils
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
4 réponses
Bonjour,
le code ne peut pas remplacer un onglet par un autre, mais remplacer le nom de l'onglet actif si vous avez un on error resume next et une erreur programme
le code ne peut pas remplacer un onglet par un autre, mais remplacer le nom de l'onglet actif si vous avez un on error resume next et une erreur programme
Bonjour,
Je ne suis pas sûr d'avoir tout compris; pourquoi ne pas passer par:
- clic droit sur l'onglet
- "déplacer ou copier"
- ne pas oublier de cocher "faire une copie"
puis corriger le nom de l'onglet de la "copie"
A +
Je ne suis pas sûr d'avoir tout compris; pourquoi ne pas passer par:
- clic droit sur l'onglet
- "déplacer ou copier"
- ne pas oublier de cocher "faire une copie"
puis corriger le nom de l'onglet de la "copie"
A +
Bonjour, en faite c'est un projet d'automatisation de test logiciels serveur.
Ou je récupère des valeurs (CPU, RAM...) et je les affiches dans un classeur excel à des cellules precise.
MON PB :
J'aimerais pouvoir à chaque fois que je lance un test cela m'ajoute une feuille qui sera nommer 4.5.1 - 4.5.2 - 4.5.3.. ect (variable SV).
Contrainte : La feuille(SV) ne sera pas vide mais part d'une feuille de base.
Ou je récupère des valeurs (CPU, RAM...) et je les affiches dans un classeur excel à des cellules precise.
MON PB :
J'aimerais pouvoir à chaque fois que je lance un test cela m'ajoute une feuille qui sera nommer 4.5.1 - 4.5.2 - 4.5.3.. ect (variable SV).
Contrainte : La feuille(SV) ne sera pas vide mais part d'une feuille de base.
Je sais que le problème vient d'ici mais je n'y arrive pas :
If Test = "AVC-S" Or Test = "S-V" Or Test = "S-E" Or Test = "S-V-E" Or Test = "SV" Or Test = "SE" Then
'Crée un repertoire en fonction des arguments Reso1 - Reso2 - Proc
If (Dir(sPath & "Resultats\" & monrepertoire, vbDirectory)) = "" Then
'MsgBox "Le repertoire n'existe pas, création"
MkDir (sPath & "Resultats\" & monrepertoire)
ActiveSheet.Name = SV
Else
'MsgBox "Le repertoire existe déjà"
For Cpt = 1 To 1
With Workbooks(Source & BaseV2_1.xlsm).Sheets(1) #error : objet requis...
.Copy After:=Worksheets(Worksheets.Count)
End With
'Le nouvelle onglet prend le nom de la version du server
ActiveSheet.Name = SV
Next Cpt
End If
If Test = "AVC-S" Or Test = "S-V" Or Test = "S-E" Or Test = "S-V-E" Or Test = "SV" Or Test = "SE" Then
'Crée un repertoire en fonction des arguments Reso1 - Reso2 - Proc
If (Dir(sPath & "Resultats\" & monrepertoire, vbDirectory)) = "" Then
'MsgBox "Le repertoire n'existe pas, création"
MkDir (sPath & "Resultats\" & monrepertoire)
ActiveSheet.Name = SV
Else
'MsgBox "Le repertoire existe déjà"
For Cpt = 1 To 1
With Workbooks(Source & BaseV2_1.xlsm).Sheets(1) #error : objet requis...
.Copy After:=Worksheets(Worksheets.Count)
End With
'Le nouvelle onglet prend le nom de la version du server
ActiveSheet.Name = SV
Next Cpt
End If
Bonjour,
A part que activesheet n'est pas toujours la bonne je ne vois pas pourquoi ta feuille ne s'ajoute pas.
Presque pareil :
PS : ton fichier est bien ouvert ?
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
A part que activesheet n'est pas toujours la bonne je ne vois pas pourquoi ta feuille ne s'ajoute pas.
Presque pareil :
Sheets("Feuil1").Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = SV & "_" & Fweric
PS : ton fichier est bien ouvert ?
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci