Macro sur le bouton "valider" de mon formulaire

Bonjour à tous,

Je cherche un expert en VBA, un magicien d'excel! J'ai initié une base de données avec un formulaire personnalisé pour ajouter un nouveau contact mais voilà mais mes compétences en VBA sont très limitées!

J'ai crée mon formulaire avec un bouton "annuler" et "valider" mais je bloque sur le code du bouton "valider" car je voudrais que le nouveau contact vienne s'ajouter en bas de la liste des contacts existants et je ne sais pas comment faire.

Voici le fichier:

https://www.cjoint.com/c/GKBqS4GHvrb

Pourriez vous m'aider? Tous les conseils sont bons à prendre. Merci d'avance.

Salut Lplebani,

Tu as plusieurs solution pour faire cela, mais déjà une question pour faire un premier tri, je vois que tu as un ID_PQ de rempie sans nom/prénom sur la ligne, c'est un vrai cas qui peut arriver dans ta base de donnée ou c'est juste que tu as fait un fichier exemple rapidos?

ECG

Hello ECG,

j'ai commencé par identifier les informations dont j'avais besoin (identifiants, nom, prénom....). Les données présentes renseignées sont des exemples inventés pour avoir un support "test".

Si c'est juste pour l'exemple et que normalement tu n'as pas d'ID vide, tu as plusieurs solutions:

  • Tu boucles sur tes cellules (ou en passant par un tableau qui est plus rapide surtout si tu as beaucoup de valeur) par exemple sur ta colonne 3 (civilité), tant que la case est remplie, tu vas voir la prochaine ligne. quand tu sortiras de la boucle donc première cellule vide, tu auras ton numéro de ligne pour copier tes nouvelles infos. Sur un nombre de ligne très grande c'est assez lent comme méthode
  • Tu passes par un
Range("C10").End(xlDown).Select[/code qui  va trouver la dernière cellule remplie vers le bas depuis ton nom de colonne (attention si tu as 0, 1 enregistrement cela ne remonteras pas la dernière cellule, il y a des tests à faire)
- ou tu passes par un  [code]Range("C1048576").End(xlUp).Select

qui va trouver la première cellule non vide en partant de la dernière ligne du fichier excel

- vu que tu n'as pas de ligne vide tu passes par un UsedRange qui selectionne automatiquement les cellules remplis dans ta feuille et tu le mets dans un tableau, puis tu remontes la limite supérieur de ton tableau sur les lignes pour avoir la dernière ligne remplie donc

   Dim TABLEAU() As Variant
Dim toto As Integer
TABLEAU = Worksheets("Contact").UsedRange.Value
MAXLIGNE= UBound(TABLEAU, 1)

Le mieux est surement le End(XlUp) ou le UsedRange je pense, à voir ce que les autres membres du forum en pense ou propose de leurs cotés ^^

ECG

Rechercher des sujets similaires à "macro bouton valider mon formulaire"