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
Rechercher des sujets similaires à "enregistrer valeurs classeur"