[Résolu]Utilisation formulaire

Utilisation formulaire [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 17-03-2013 à 16:12:56    

Bonjour à tous,
 
Étant débutant sur Excel/VBA, j'aurai besoin d'aide sur un petit problème.
J'ai actuellement un fichier Excel qui comporte une feuille avec un tableau dont je voudrais remplir les lignes en fonction des réponses apportés par l'utilisateur grâce à un formulaire que j'ai créé.
 
Petite subtilité, je voudrais que mon code détecte si la 1ère ligne de mon tableau est déjà remplie et donc passe automatiquement à la suivante jusqu'à trouver une ligne vide.
 
J'ai écris un bout de code mais qui malheureusement écris toujours sur la 1ère ligne et je n’arrive pas à voir d'où vient l'erreur.
 
Voici mon code qui s’exécute lorsque je clique sur le OK du formulaire :  
 
Dim Ligne_depart As Integer
 
Ligne_depart = 24
 
While Sheets("Données" ).Range("I" & Ligne_depart).Value <> Null
    Ligne_depart = Ligne_depart + 1
Wend
 
Sheets("Données" ).Range("I" & Ligne_depart).Value = TextBox3.Value
 
 
Merci d'avance aux personnes qui pourraient me répondre  :)


Message édité par meurder le 18-03-2013 à 09:47:53
Reply

Marsh Posté le 17-03-2013 à 16:12:56   

Reply

Marsh Posté le 17-03-2013 à 17:35:05    

 
           Bonjour !   C'est le test du While qui n'est pas bon, ce serait mieux avec  <> ""  …
 
           Sinon une seule ligne de code est nécessaire pour ce petit problème

Code :
  1. Private Sub OK_Click()
  2.     Worksheets("Données" ).Cells(Rows.Count, "I" ).End(xlUp)(2).Value = TextBox3.Value
  3.     Unload Me
  4. End Sub

Reply

Marsh Posté le 17-03-2013 à 17:56:38    

Marc L a écrit :

 
           Bonjour !   C'est le test du While qui n'est pas bon, ce serait mieux avec  <> ""  …
 
           Sinon une seule ligne de code est nécessaire pour ce petit problème

Code :
  1. Private Sub OK_Click()
  2.     Worksheets("Données" ).Cells(Rows.Count, "I" ).End(xlUp)(2).Value = TextBox3.Value
  3.     Unload Me
  4. End Sub



 
Bonjour Marc L,
 
Merci pour votre réponse!  :)  
Ok en effet c'était une erreur toute bête!
 
Par contre pouvez-vous m'expliquer votre ligne simplifiée ? Je n'arrives pas à voir ce qu'elle fait étape par étape.
 

Reply

Marsh Posté le 17-03-2013 à 18:02:07    

 
           Elle affecte la valeur une ligne en dessous de la dernière saisie de la colonne, voir l'aide intégrée de VBA pour plus de précisions …
 

Reply

Marsh Posté le 17-03-2013 à 18:07:03    

Ok et bien j'y vais de ce pas! Merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed