Recuperer les données d'un formulaire dans un tableau

Résolu
howiz Messages postés 21 Statut Membre -  
howiz Messages postés 21 Statut Membre -
Bonjour;

Je souhaite, à partir d'un formulaire, récupérer les donnees de l'utilisateur et les inscrire à la suite d'un tableau (pour au final obtenir une base de donnée) qui se situe dans une autre feuille (je compte par la suite le mettre meme dans un autre fichier si c'est possible).
Lors de l'inscription des données (nom, adresse, tel), je voudrais par la même occasion trier par ordre alphabétique le tableau selon la première colonne.

Je suis débutant en VBA.

Merci pour votre aide

1 réponse

  1. ozone_ Messages postés 1823 Statut Membre 511
     
    Salut,

    As-tu un début de classeur à partager pour que je puisse avoir quelques bases avant de voir ce qui est faisable ?
    1
    1. howiz Messages postés 21 Statut Membre
       
      Bonjour ozone. J'ai reussi à trouver une réponse à mon problème :

      Private Sub valider_Click()

      '--------------------- Lieu d'envoi ------------------------

      'On va chercher la premiere ligne vide pour l'ajouter à la suite de la base de donnée
      NLign = Sheets("Entreprises").Range("A1").End(xlDown).Row + 1

      If IsError(Sheets("Entreprises").Range("A1").End(xlDown).Row) Then
      NLign = 2
      Else
      NLign = Sheets("Entreprises").Range("A1").End(xlDown).Row + 1
      End If

      '---------- VERIFICATION DES DONNEES + TRANSFERT -----------

      'On oblige l'utilisateur à renseigner ces donnees (nom, adresse, numero de tel)
      If Len(Nom) = 0 Then
      MsgBox ("Vous devez entrer le nom de l'entreprise")
      Cancel = True
      Exit Sub
      End If
      If Len(Tel) = 0 Then
      MsgBox ("Vous devez entrer le numéro de l'entreprise")
      Cancel = True
      Exit Sub
      End If
      If Len(Adresse) = 0 Then
      MsgBox ("Vous devez entrer l'adresse de l'entreprise")
      Cancel = True
      Exit Sub
      End If

      'verifie que le numero est bien un numero puis lance la copie
      If IsNumeric(Tel.Value) And (IsNumeric(FaxTxt.Value) Or IsEmpty(FaxTxt.Value)) Then 'SI valeur numérique ...

      'Transfert des donnees dans la base
      Sheets("Entreprises").Cells(NLign, 1) = Nom
      Sheets("Entreprises").Cells(NLign, 2) = Adresse
      Sheets("Entreprises").Cells(NLign, 4) = FaxTxt
      Sheets("Entreprises").Cells(NLign, 3) = Tel

      'mise en forme des cellule copiées
      Dim i As Integer
      i = 1

      While i < 5
      Cells(NLign, i).HorizontalAlignment = xlCenter
      Cells(NLign, i).VerticalAlignment = xlCenter
      Cells(NLign, i).Borders.Value = 1
      Cells(NLign, i).WrapText = True
      i = i + 1
      Wend

      'Trier la base de donnee
      Macro3

      'fermeture du formulaire
      Unload Me

      'affiche un message de confirmation
      MsgBox "L'entreprise a bien été ajouté à la base de donnée Entreprises."

      Else 'SINON ...
      MsgBox "Valeur incorrecte"
      End If

      End Sub


      Merci pour votre réponse rapide.
      0