Excel : Nom copie de feuille 1= contenu plusieurs cellules feuille 1

Excel : Nom copie de feuille 1= contenu plusieurs cellules feuille 1 - VB/VBA/VBS - Programmation

Marsh Posté le 11-06-2011 à 13:51:33    

[RÉSOLU)
 
Salut tout le monde.
 
J'ai besoin d’un petit coup de main.
 
Je suis professeur et j'aimerais créer un fichier Excel qui contient dans la première page un compte rendu d'intervention vierge.
 
Le but c'est que les élèves complètent le compte rendu, l'archive, le vide et l'enregistre.
 
Pour moi l'archivage consistera à faire une copie du compte rendu dans le même classeur et qu'il porte le nom de l'élève et la date du jour qu'il aura complété dans deux cellules du compte rendu.
 
Voilà le code que j'ai créé pour archiver le compte rendu celui-ci ne marche pas.
 
Sheets("Feuil1" ).Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = Range("A1" ) & Range("A2" )

 
Voilà le code que j'ai créé pour effacer le compte rendu
 
Range("A1,A2,E7,G7,G9,E9,E11,G11,G13,E13" ).Select
Selection.ClearContents
Range("A1" ).Select

 
Voilà le code que j'ai créé pour enregistrer le fichier
 
ActiveWorkbook.Save
 
Pouvez-vous me dire ce qui ne va pas ?
 
Merci pour votre aide.


Message édité par yen-aplu le 12-06-2011 à 13:48:25
Reply

Marsh Posté le 11-06-2011 à 13:51:33   

Reply

Marsh Posté le 11-06-2011 à 22:55:40    

Salut,une ébauche avec une sauvegarde sous forme de fichier xls et non ajout de feuille, à toi de poursuivre et adapter http://cjoint.com/?3Flw1al8Y6K


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 11-06-2011 à 23:20:20    

Salut kiki29, merci pour ta réponse.
 
Quel boulot, je ne suis pas sur d'avoir le niveau pour comprendre cette macro.
 
Pour info on m'a proposé ces deux codes la :
 
Dim nomFE As String
Dim plage As Range
With Sheets("Feuil1" )
nomFE = .[A1] & "-" & .[A2]
Set plage = Union(.[A1], .[A2])
End With
Sheets("Feuil1" ).Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = nomFE
plage.ClearContents
Sheets("Feuil1" ).Select
Range("A1" ).Select
ActiveWorkbook.Save
 
Source :commentcamarche.net
 
Il a un petit défaut pour moi car dans la cellule A2 j'ai la fonction =AUJOURD'HUI().
Il est impossible de nommer une feuille avec le signe /
 
Sub Archiver()
Sheets("Compresseur compte rendu correc" ).Select
vnom = InputBox(" Tapez votre nom" )
Vdate = InputBox("Tapez la date jj.mm.aaaa" )
Sheets("Compresseur compte rendu correc" ).Copy Before:=Sheets(5)
ActiveSheet.Name = (vnom & " " & Vdate)
End Sub
 
Source : aideonline.com

Reply

Marsh Posté le 12-06-2011 à 00:14:58    

Re,le problème que tu vas rencontrer avec l'ajout de feuilles est que suivant ton nombre d'élèves et la fréquence des mises à jour une obésité croissante de ton classeur,c'est pourquoi j'ai suggéré une autre voie.
 
D'autre part pour éviter que tes élèves n'aient à saisir leur nom prénom il serait bon de passer par une liste de validation, de protéger ta feuille par un mot de passe en ne dévérrouillant que les cellules ou l'on à saisir qqch
voir dans la FAQ http://excel.developpez.com/faq/?page=ListeValidation et les tutos sur  http://excel.developpez.com/cours/

Message cité 1 fois
Message édité par kiki29 le 12-06-2011 à 00:38:12

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 12-06-2011 à 00:50:46    

kiki29 a écrit :

Re,le problème que tu vas rencontrer avec l'ajout de feuilles est que suivant ton nombre d'élèves et la fréquence des mises à jour une obésité croissante de ton classeur,c'est pourquoi j'ai suggéré une autre voie.
 
D'autre part pour éviter que tes élèves n'aient à saisir leur nom prénom il serait bon de passer par une liste de validation, de protéger ta feuille par un mot de passe en ne déverrouillant que les cellules ou l'on à saisir qqch
voir dans la FAQ http://excel.developpez.com/faq/?page=ListeValidation et les tutos sur  http://excel.developpez.com/cours/


 
Normalement je n’aurais pas de problème d’obésité car le fichier sera remis à zéro à chaque rentrée en septembre. La protection par mot de passe c'est prévus car absolument nécessaire. Par contre pas de liste de validation, il faut bien qu'ils bossent en peu. :)
 
Merci beaucoup pour les liens.
 
 
 

Reply

Marsh Posté le 12-06-2011 à 13:47:26    

Salut kiki29 et tout le forum voilà c'est résolu
 
L'élève rentre son nom dans A1
Dans A2 la fonction =AUJOURDHUI()  
 
Sub Archiver()
 
Dim nomE As String
Dim plage As Range
Dim dj As String
 
With Sheets("Feuil1" )
 
nomE = .[A1]
Set plage = Union(.[A1], .[A2])
dj = Format(.[A2], "dd-mm-yyyy" )
 
End With
 
Sheets("Feuil1" ).Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = nomE & "-" & dj
 
End Sub

 
Source : commentcamarche.net


Message édité par yen-aplu le 12-06-2011 à 13:47:40
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed