Enregistrement donnée formulaire dans un autre classeur

bibi91470 Messages postés 7 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 20 octobre 2010 - 18 oct. 2010 à 19:05
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 20 oct. 2010 à 17:05
Voila encore un soucie e j'ai beau chercher je trouve pas

J'ai crée un formulaire pour remplir la base de donnée client. Dans mon document facturation j'ai un bouton " nouveau contact " qui m'ouvre une userform .
Je souhaiterai enregistrer mes informations ( client , adresse , CP ...) dans un autre classeur excel.

J'ai l'ensemble du code pour le remplissage des colonnes et ligne de ma base de client mais je n'arrive pas à les mettre dans mon autre classeur .



Private Sub cmdAjouter_Click()

Dim numLigneVide As Integer
' activer la base clients

'on cherche la derniere ligne vide de la page et on enregistre le numero dans la variable numLigneVide
numLigneVide = ActiveSheet.Columns(1).Find("").Row

'on verifie que les champs nom adresse CP et ville ne sont pas vide
If txtNom.Text = "" Then
MsgBox "Veuillez remplir le Nom du client", vbCritical, "Champs manquant"
txtNom.SetFocus
ElseIf txtAdresse.Text = "" Then
MsgBox "Veuillez remplir l'adresse du client", vbCritical, "Champs manquant"
txtAdresse.SetFocus
ElseIf txtCP.Text = "" Then
MsgBox "Veuillez remplir le code postal du client", vbCritical, "Champs manquant"
txtCP.SetFocus
ElseIf txtVille.Text = "" Then
MsgBox "Veuillez remplir la ville du client", vbCritical, "Champs manquant"
txtVille.SetFocus
ElseIf combo.Text = "" Then
MsgBox "Veuillez remplir le type de reglement", vbCritical, "Champs manquant"
combo.SetFocus
ElseIf txtCompta.Text = "" Then
MsgBox "Veuillez remplir le code Comptabilité (Maxi 7 caratères)", vbCritical, "Champs manquant"
txtCompta.SetFocus
Else
'on enregistre les infos
ActiveSheet.Cells(numLigneVide, 1) = UCase(txtNom.Text)
ActiveSheet.Cells(numLigneVide, 2) = txtAdresse.Text
ActiveSheet.Cells(numLigneVide, 3) = txtCP.Text
ActiveSheet.Cells(numLigneVide, 4) = UCase(txtVille.Text)
ActiveSheet.Cells(numLigneVide, 5) = combo.Text
ActiveSheet.Cells(numLigneVide, 6) = UCase(txtCompta.Text)

'on efface tous
txtNom.Text = ""
txtAdresse.Text = ""
txtCP.Text = ""
txtVille.Text = ""
combo.Text = ""
txtCompta = ""
txtNom.SetFocus

End If
End Sub

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
19 oct. 2010 à 08:07
Bonjour,

Déjà, si je peux me permettre, Utilises la balises de code pour mettre (ben.. heu..) du CODE.
Ce sera plus lisible pour tout le monde.

Ensuite,

Pour enregistrer tes données dans un autre classeur il faut :
1 - Ouvrir ce classeur (regardes du côté de : Workbooks.open
Dim Fichier As String
    Fichier = "c:\Monclasseur.xls"
Workbooks.Open (Fichier)


2 - Remplacer tes : "ActiveSheet. ..." par :

'Workbooks(Nom_Classeur).Sheets(Nom_ou_Numero_de_la_Feuille)
'Exemple: 
Workbooks(Mon_Classeur.xls).Sheets(1).Cells(numLigneVide, 6) = UCase(txtCompta.Text




Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
bibi91470 Messages postés 7 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 20 octobre 2010
20 oct. 2010 à 15:42
Super sympa tous ça marche d'enfer.

Petite question complementaire . Dans mon formulaire j'ai un bouton ajouté et un bouton fermer. Je souhaiterai fermer et enregistrer le fichier "client.xls" quand je clic sur fermer de mon formulaire.

Je sais ou je doit rentrer mon code mais ca marche pas .
Private Sub cmdFermer_Click()
frmNouveau.Hide
Workbooks.Close (fichier) 


il me dit erreur de compilation
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
20 oct. 2010 à 17:05
Bonjour,
de memoire c'est workbooks(fichier).close.
et pour sauver... .save
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
Rejoignez-nous