Enregistrer des valeurs d'un classeur a un autre
Bonjour
commencant a me servir d'EXCEL j'aurais besoin de renseignement.Comment enregistrer des valeurs automatiquement d un classeur excel a un autre?
Exemple:
Sur un classeur je rentre des infos(nom client ,adresse ,tel....) et je voudrais que cela soit enregitere dand un classeur appeler fichier client?
Merci de votre aide
Bonjour,
Pour tout dire, il y a 3 façons de faire :
- copier et coller dans le nouveau classeur (manuellement)
- créer une macro qui recopiera les données
- ne rien faire !! et créer des formules qui vont chercher le valeurs en fonction du besoin, au moins tout est toujours à ,jour
mais dans ce cas je préconiserai plutôt de mettre à jour directement le fichier clients
Maintenant, si j'essaie d’interpréter autrement ton besoin : n'as-tu pas besoin plutôt d'un formulaire (UserForm) pour rentrer des nouveaux clients dans ta base ? et les gérer (modification, suppression)
Bonsoir
Et merci de la réponse mais aurais tu un exemple car pour faire simple je suis un peu perdu....
Cordialement
regarde ici : https://www.excel-pratique.com/fr/vba/userform.php
mais si tu débutes, bon courage (mais au moins tu vas apprendre !)
Le code de l'exemple est ici :
Option Explicit
Dim Ws As Worksheet
'Pour le formulaire
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité
ComboBox2.List() = Array("", "M.", "Mme", "Mlle")
Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
'Pour la liste déroulante Code client
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")
For I = 1 To 7
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub
'Pour le bouton Nouveau contact
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l'insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
End If
End Sub
'Pour le bouton Modifier
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
Ws.Cells(Ligne, "B") = ComboBox2
For I = 1 To 7
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub
'Pour le bouton Quitter
Private Sub CommandButton3_Click()
Unload Me
End Sub