Enregistrer 1 macro ss 1nom de feuille précis

Résolu/Fermé
jerome_jay Messages postés 32 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 21 juillet 2008 - 17 juil. 2008 à 10:34
jerome_jay Messages postés 32 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 21 juillet 2008 - 17 juil. 2008 à 11:32
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
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:

4 réponses

Ivan-hoe Messages postés 433 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 17 octobre 2008 309
17 juil. 2008 à 10:55
Salut,
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
0
jerome_jay Messages postés 32 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 21 juillet 2008
17 juil. 2008 à 11:21
je viens de tester ce que tu m'as dit et j'arrive sur un debogage au niveau de With Sheets(Systeme)
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
17 juil. 2008 à 11:24
bonjour
With Sheets("Systeme")
si c'est le nom de la feuille.
A+

0
jerome_jay Messages postés 32 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 21 juillet 2008
17 juil. 2008 à 11:32
c'est bon j'ai trouver l'erreur, il fallait que je récupère la valeur de système

With Sheets(Systeme.Value)


donc le code marche nickel ^^
0