macro nouvelle feuille

Lucho07

XLDnaute Nouveau
Bonsoir au forum,
Je crains d'en demander un peu beaucoup, mais je me lance...
Ds le fichier joint, je souhaite créer une macro (associée à un bouton) qui permettrait de créer une nouvelle feuille, à chaque clic sur ce bouton:
- en effaçant le contenu de la feuille: à savoir les cellules C6, E6, D33 et la zone A13:H31
- en effectuant le report depuis le feuillet précédent (cellule E34) vers le nouveau feuillet (Cell E33)
- en modifiant le n° du bordereau en G2
- et cerise sur le gateau je voudrais associer le nom de l'onglet au n° du bordereau en G2
- enfin faire en sorte que le bouton crée glisse à chaque création de feuille vers le dernier feuillet crée

J'ai fait un essai, grace à l'enregistreur de macro, mais le resultat est incomplet, mais n'est surtout pas à la hauteur.....
...... et comme je ne maitrise pas le VBA.....

Quelqu'un peut t'il me mettre sur la piste ?

Merci d'avance,

[file name=Rejets_modele.zip size=8981]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Rejets_modele.zip[/file]
 
Dernière édition:

Hervé

XLDnaute Barbatruc
Bonsoir lucho


en pièce jointe ton fichier modifié.

salut

le code :

Sub nouveau_bordereau()
Dim feuille As Worksheet
Dim numero As Integer


    ActiveSheet.Copy after:=Sheets(Sheets.Count)
With ActiveSheet
    numero = Mid(Sheets(.Index - 1).Name, 5) + 1
    .Name = 'Bord ' & numero
    .Range('g2') = numero
    .Range('C6,E6,A13:E31,G13:H31,D33').ClearContents
   
Set feuille = Sheets(Sheets(.Index - 1).Name)
    .Range('e33') = feuille.Range('e34')
    feuille.Shapes('Button 1').Delete
End With
End Sub
[file name=modelev2.zip size=11355]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/modelev2.zip[/file]
 

Pièces jointes

  • modelev2.zip
    11.1 KB · Affichages: 24

Hervé

XLDnaute Barbatruc
Bonjour lucho, juju, le forum

lucho, le même code commenté, afin de t'aider à décortiquer.

Sub nouveau_bordereau()
Dim feuille As Worksheet
Dim numero As Integer


    ActiveSheet.Copy after:=Sheets(Sheets.Count)
'copie la feuille active à la fin du classeur(sheets.count)
   
With ActiveSheet 'avec la feuille active, donc la copie
   
'numero= tout les caractères au delà du 5 ème caractère de la feuille précédente +1 pour l'incrémentation
    numero = Mid(Sheets(.Index - 1).Name, 5) + 1
    .Name = 'Bord ' & numero
'nom de la feuille = concatenation de 'Bord' et du numero
    .Range('g2') = numero
'place en g2 le numero
    .Range('C6,E6,A13:E31,G13:H31,D33').ClearContents
'efface les données
   
Set feuille = Sheets(Sheets(.Index - 1).Name) 'cree une variable feuille de la feuille précédente
    .Range('e33') = feuille.Range('e34')
'transfert les données entre les 2 feuilles
    feuille.Shapes('Button 1').Delete
'efface le bouton de la feuille précédente
End With
End Sub


salut
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 157
dernier inscrit
youma