Enregistrer 1 macro ss 1nom de feuille précis
Résolu
jerome_jay
Messages postés
32
Statut
Membre
-
jerome_jay Messages postés 32 Statut Membre -
jerome_jay Messages postés 32 Statut Membre -
Bonjour,
je suis en train d'ecrire une macro, celle ci est presque finie, il me reste juste a faire que ce que
je remplis dans le formulaire s'enregistre dans la page correspondant au nom du système.
je m'explique, si je choisis le systeme "C3U", je voudrais que cela s'enregistre dans la feuille du
nom "C3U", idem si je choisis le système "SSLNG" a enregistrer dans la feuille SSLNG
Voila un imprime écran du formulaire
[url=http://www.zimagez.com/zimage/1618fd9a5d7d01993f065100813d836c8.php][img]http://www.zimagez.com/miniature/1618fd9a5d7d01993f065100813d836c8.bmp[/img][/url]
et voici le code que j'ai mis en place pour le moment
si quelqu'un pouvait eclairer ma lanterne ^^
Jerome_JaY
je suis en train d'ecrire une macro, celle ci est presque finie, il me reste juste a faire que ce que
je remplis dans le formulaire s'enregistre dans la page correspondant au nom du système.
je m'explique, si je choisis le systeme "C3U", je voudrais que cela s'enregistre dans la feuille du
nom "C3U", idem si je choisis le système "SSLNG" a enregistrer dans la feuille SSLNG
Voila un imprime écran du formulaire
[url=http://www.zimagez.com/zimage/1618fd9a5d7d01993f065100813d836c8.php][img]http://www.zimagez.com/miniature/1618fd9a5d7d01993f065100813d836c8.bmp[/img][/url]
et voici le code que j'ai mis en place pour le moment
Private Sub Annuler_Click()
'efface les champs
Commentaires = ""
dateinstall = ""
datelivraison = ""
Daterecep = ""
datevalid = ""
reflivraison = ""
Refmedia = ""
Systeme = ""
Version = ""
End Sub
Private Sub ComboBox1_Enter()
ComboBox1.AddItem "C3U"
ComboBox1.AddItem "CCS"
ComboBox1.AddItem "CGN"
ComboBox1.AddItem "CGRM"
ComboBox1.AddItem "CGSEC"
ComboBox1.AddItem "GLC"
ComboBox1.AddItem "PSM"
ComboBox1.AddItem "REMO"
ComboBox1.AddItem "RIS"
ComboBox1.AddItem "SSLNG"
End Sub
Private Sub Enregistrer_Click()
'Vérification que tous les champs soient tous bien remplis afin de pouvoir effectuer le calcul et remplir le tableau
Select Case ""
Case Commentaires
MsgBox "Champ ''Commentaires'' vide", vbExclamation, "CHAMPS VIDE"
Case dateinstall
MsgBox "Champ ''dateinstall'' vide", vbExclamation, "CHAMPS VIDE"
Case datelivraison
MsgBox "Champ ''datelivraison'' vide", vbExclamation, "CHAMPS VIDE"
Case Daterecep
MsgBox "Champ ''Daterecep'' vide", vbExclamation, "CHAMPS VIDE"
Case datevalid
MsgBox "Champ ''datevalid'' vide", vbExclamation, "CHAMPS VIDE"
Case reflivraison
MsgBox "Champ ''reflivraison'' vide", vbExclamation, "CHAMPS VIDE"
Case Refmedia
MsgBox "Champ ''Refmedia'' vide", vbExclamation, "CHAMPS VIDE"
Case Version
MsgBox "Champ ''Version'' vide", vbExclamation, "CHAMPS VIDE"
End Select
'message sur le contenu saisie
MsgBox "Il est " & Time & Chr(10) & Chr(10) & "Vous avez saisi les informations suivantes " & Chr(10) & Chr(10) & " Systeme : " & Systeme & Chr(10) & " Version : " & Version & Chr(10) & " Date de réception officielle sur CSL : " & Daterecep & Chr(10) & " Référence des médias reçus : " & Refmedia & Chr(10) & " Date de validation: " & datevalid & Chr(10) & " Date de livraison vers le site : " & datelivraison & Chr(10) & " Référence livraison MOI : " & reflivraison & Chr(10) & " Date d'installation sur site OPS : " & dateinstall & Chr(10) & " Commentaires : " & Commentaires, vbInformation, "Informations saisies"
'création du tableau
Range("A1") = "Systeme"
Range("B1") = "Version"
Range("C1") = "Date de réception officielle sur CSL"
Range("D1") = "Référence des médias reçus"
Range("E1") = "Date de validation"
Range("F1") = "Date de livraison vers le site"
Range("G1") = "Référence livraison MOI"
Range("H1") = "Date d'installation sur site OPS"
Range("I1") = "Commentaires"
'Se mettre à la fin du tableau
If Range("A1").Offset(1, 0) <> "" And Range("B1").Offset(1, 0) <> "" And Range("C1").Offset(1, 0) <> "" And Range("D1").Offset(1, 0) <> "" And Range("E1").Offset(1, 0) <> "" And Range("F1").Offset(1, 0) <> "" And Range("G1").Offset(1, 0) <> "" And Range("H1").Offset(1, 0) <> "" Then
Range("A1").End(xlDown).Offset(1, 0) = Systeme
Range("B1").End(xlDown).Offset(1, 0) = Version
Range("C1").End(xlDown).Offset(1, 0) = Daterecep
Range("D1").End(xlDown).Offset(1, 0) = Refmedia
Range("E1").End(xlDown).Offset(1, 0) = datevalid
Range("F1").End(xlDown).Offset(1, 0) = datelivraison
Range("G1").End(xlDown).Offset(1, 0) = reflivraison
Range("H1").End(xlDown).Offset(1, 0) = dateinstall
Range("I1").End(xlDown).Offset(1, 0) = Commentaires
Else
'Remplissage d'un tableau vierge
Range("A1").Offset(1, 0) = Systeme
Range("B1").Offset(1, 0) = Version
Range("C1").Offset(1, 0) = Daterecep
Range("D1").Offset(1, 0) = Refmedia
Range("E1").Offset(1, 0) = datevalid
Range("F1").Offset(1, 0) = datelivraison
Range("G1").Offset(1, 0) = reflivraison
Range("H1").Offset(1, 0) = dateinstall
Range("I1").Offset(1, 0) = Commentaires
End If
'effacer les champs suite à l'enregistrement
Commentaires = ""
dateinstall = ""
datelivraison = ""
Daterecep = ""
datevalid = ""
reflivraison = ""
Refmedia = ""
Systeme = ""
Version = ""
End Sub
si quelqu'un pouvait eclairer ma lanterne ^^
Jerome_JaY
A voir également:
- Enregistrer 1 macro ss 1nom de feuille précis
- Audacity enregistrer son pc - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Comment enregistrer une conversation - Guide
4 réponses
Salut,
pour la partie du code qui écrit tes données dans la feuille de calcul, tu la commences par
(en l'occurence Nomdelafeuille, ici, c'est Systeme, si tes onglets ont exactement le même nom que le contenu de ta liste Systeme)
et tu la termines par
Entre les deux, tu rajoutes un point devant chaque référence à une plage, afin qu'elle fasse référence à la feuille précisée au-dessus.
Voir l'exemple ci-dessous :
pour la partie du code qui écrit tes données dans la feuille de calcul, tu la commences par
With Sheets(Nomdelafeuille)
(en l'occurence Nomdelafeuille, ici, c'est Systeme, si tes onglets ont exactement le même nom que le contenu de ta liste Systeme)
et tu la termines par
End With
Entre les deux, tu rajoutes un point devant chaque référence à une plage, afin qu'elle fasse référence à la feuille précisée au-dessus.
Voir l'exemple ci-dessous :
With Sheets(Systeme)
'création du tableau
.Range("A1") = "Systeme"
.Range("B1") = "Version"
.Range("C1") = "Date de réception officielle sur CSL"
.Range("D1") = "Référence des médias reçus"
.Range("E1") = "Date de validation"
.Range("F1") = "Date de livraison vers le site"
.Range("G1") = "Référence livraison MOI"
.Range("H1") = "Date d'installation sur site OPS"
.Range("I1") = "Commentaires"
'Se mettre à la fin du tableau
If .Range("A1").Offset(1, 0) <> "" _
And .Range("B1").Offset(1, 0) <> "" _
And .Range("C1").Offset(1, 0) <> "" _
And .Range("D1").Offset(1, 0) <> "" _
And .Range("E1").Offset(1, 0) <> "" _
And .Range("F1").Offset(1, 0) <> "" _
And .Range("G1").Offset(1, 0) <> "" _
And .Range("H1").Offset(1, 0) <> "" Then
.Range("A1").End(xlDown).Offset(1, 0) = Systeme
.Range("B1").End(xlDown).Offset(1, 0) = Version
.Range("C1").End(xlDown).Offset(1, 0) = Daterecep
.Range("D1").End(xlDown).Offset(1, 0) = Refmedia
.Range("E1").End(xlDown).Offset(1, 0) = datevalid
.Range("F1").End(xlDown).Offset(1, 0) = datelivraison
.Range("G1").End(xlDown).Offset(1, 0) = reflivraison
.Range("H1").End(xlDown).Offset(1, 0) = dateinstall
.Range("I1").End(xlDown).Offset(1, 0) = Commentaires
Else
'Remplissage d'un tableau vierge
.Range("A1").Offset(1, 0) = Systeme
.Range("B1").Offset(1, 0) = Version
.Range("C1").Offset(1, 0) = Daterecep
.Range("D1").Offset(1, 0) = Refmedia
.Range("E1").Offset(1, 0) = datevalid
.Range("F1").Offset(1, 0) = datelivraison
.Range("G1").Offset(1, 0) = reflivraison
.Range("H1").Offset(1, 0) = dateinstall
.Range("I1").Offset(1, 0) = Commentaires
End If
End With