Listbox une codition si une ligne vide

Bonjour a tous,

j ai fait une listbox, avec un bouton qui apres un encodage dans un textbox, m'ajoute un numero dans une cellule. jusque la pas de probleme seulement, j aimerais en plus de cela rajouter une condition qui ferai en sorte de ne pas afficher se numéro, si la cellule de la colone A est vide.

un peu compliquer a expliquer en francais mdr, je vous joins le fichier qui sera plus clair, ainsi que mes code :

le code du bouton :

Private Sub CommandButton3_Click() '''a modifier dans les autres UF
Dim ligne As Integer

If Libellé = TextBox1 Or Libellé = Numero Then  ' => SI condition validée ALORS
   'Instructions si vrai

Sheets("Tournois").Cells(ligne, 5) = Libellé.Value
Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

Else ' => SINON
   'Instructions si faux
     MsgBox " Vous n'avez pas rentré le bon joueur"
     Libellé.Value = Clear

End If

  Dim l As Integer
  l = Range("D" & Rows.Count).End(xlUp).Row + 1

  Range("D" & l) = Application.WorksheetFunction.Sum(Sheets("Select billard").Range("F1"))

End Sub

les codes de la UF:

        Dim nbCol, pointeur, ligne
        Dim bd, f

        Private Sub CommandButton1_Click()
          Dim l As Integer
          l = Range("D" & Rows.Count).End(xlUp).Row + 1

          Range("D" & l) = Application.WorksheetFunction.Sum(Sheets("Select billard").Range("F1"))

        End Sub

        Private Sub CommandButton3_Click() '''a modifier dans les autres UF
        Dim ligne As Integer

        If Libellé = TextBox1 Or Libellé = Numero Then  ' => SI condition validée ALORS
           'Instructions si vrai

        Sheets("Tournois").Cells(ligne, 5) = Libellé.Value
        Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

        Else ' => SINON
           'Instructions si faux
             MsgBox " Vous n'avez pas rentré le bon joueur"
             Libellé.Value = Clear

        End If

          Dim l As Integer
          l = Range("D" & Rows.Count).End(xlUp).Row + 1

          Range("D" & l) = Application.WorksheetFunction.Sum(Sheets("Select billard").Range("F1"))

        End Sub

        Private Sub CommandButton4_Click()

        Libellé.Value = Clear

        Sheets("Tournois").Cells(ligne, 5) = Libellé.Value

        Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

        End Sub

        Private Sub CommandButton5_Click()

        Application.Run "TOUR1"

        Worksheets("1").Range("F4:H260").Copy Worksheets("Tournois").Range("A5:C260")

        Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

            Sheets("Tournois").Select
            Range("B5").Select
            ActiveCell.FormulaR1C1 = "-"
            Selection.AutoFill Destination:=Range("B5:B129"), Type:=xlFillDefault
            Range("B5:B129").Select

        End Sub

        Private Sub CommandButton6_Click()

           If MsgBox("Faire un nouveau tour ?", vbYesNo, "Demande de confirmation") = vbYes Then
               Application.Run "TiragePoules1"

        Worksheets("1").Range("F4:H260").Copy Worksheets("Tournois").Range("A5:C260")

        Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

            End If

        End Sub

        Private Sub UserForm_Activate()
        Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address
        End Sub

        Private Sub UserForm_Initialize()

          Set f = Sheets("Tournois")
          Set d = CreateObject("Scripting.Dictionary")
          Set bd = f.Range("A2:H" & f.[A65000].End(xlUp).Row) ' change l emplacement de la recherche
          For i = 10 To bd.Rows.Count
            If bd.Cells(i, 1) <> "" Then d(bd.Cells(i, 1).Value) = ""
          Next i
          Temp = d.keys
          'Call Tri(temp, LBound(temp), UBound(temp))
          'Me.TextBox1 = temp
          Me.ZoneRec.List = bd.Value
          For k = 1 To 18: Me("label" & k).Caption = f.Cells(9, k): Next k

        Numero = Sheets("Tournois").Cells(2, 3)
        TextBox1 = Sheets("Tournois").Cells(2, 1)
        TextBox2 = Sheets("Tournois").Cells(2, 4)
        Libellé = Sheets("Tournois").Cells(2, 5)
        Pièce = Sheets("Tournois").Cells(2, 6)

            'ZoneRec.RowSource = "Tournois!A:F"
            ZoneRec.ColumnWidths = "40;20;50;50"

        End Sub

        Private Sub B_ok_Click()
           Dim a()
           N = Application.CountIf(Application.Index(bd, , 1), Me.MotCle)
           ReDim a(1 To N, 1 To bd.Columns.Count)
            ligne = 0
           For i = 10 To bd.Rows.Count
             If bd.Cells(i, 1) = Me.MotCle Then
               ligne = ligne + 1
               For k = 1 To bd.Columns.Count: a(ligne, k) = bd.Cells(i, k): Next k
              End If
           Next i
           Me.ZoneRec.List = a()
        End Sub

        Private Sub b_tout_Click()
          Me.ZoneRec.Clear
          For i = 10 To f.[A65000].End(xlUp).Row
              Me.ZoneRec.AddItem
              Me.ZoneRec.List(i - 10, 0) = f.Cells(i, 1)
              Me.ZoneRec.List(i - 10, 1) = i
           Next
           pointeur = 0
           ligne = Me.ZoneRec.List(pointeur, 1)
           affiche
        End Sub

        Private Sub ZoneRec_Click()

            ligne = ZoneRec.ListIndex + 2

            Numero = Sheets("Tournois").Cells(ligne, 3)
            TextBox1 = Sheets("Tournois").Cells(ligne, 1)
            TextBox2 = Sheets("Tournois").Cells(ligne, 4)
            Libellé = Sheets("Tournois").Cells(ligne, 5)
            Pièce = Sheets("Tournois").Cells(ligne, 6)

          'ligne = Me.ZoneRec.Column(1)
          'pointeur = Me.ZoneRec.ListIndex
          'affiche
        End Sub
        Private Sub b_suiv_Click()
         If pointeur < Me.ZoneRec.ListCount - 1 Then
           pointeur = pointeur + 1
           ligne = Me.ZoneRec.List(pointeur, 1)
           affiche
         End If
        End Sub
        Private Sub b_prec_Click()
         If pointeur > 0 Then
           pointeur = pointeur - 1
           ligne = Me.ZoneRec.List(pointeur, 1)
           affiche
         End If
        End Sub
        Private Sub b_premier_Click()
           pointeur = 0
           ligne = Me.ZoneRec.List(pointeur, 1)
           affiche
        End Sub
        Private Sub b_dernier_Click()
           pointeur = Me.ZoneRec.ListCount - 1
           ligne = Me.ZoneRec.List(pointeur, 1)
           affiche
        End Sub

        Private Sub Annuler_Click()
        tour_1.Hide
        End Sub

        Private Sub Modifier_Click()

        Me.ZoneRec.List = bd.Value

        End Sub

l'idee du code que j'arrive pas a faire...

Private Sub CommandButton3_Click() '''a modifier dans les autres UF
Dim ligne As Integer

If Libellé = TextBox1 Or Libellé = Numero Then  ' => SI condition validée ALORS
   'Instructions si vrai

Sheets("Tournois").Cells(ligne, 5) = Libellé.Value
Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

Else ' => SINON
   'Instructions si faux
     MsgBox " Vous n'avez pas rentré le bon joueur"
     Libellé.Value = Clear

End If

   if [premiere cellule vide en A] = emply then
'ne rien faire

else
'si c estt faux ajouter mon numéro
  Dim l As Integer
  l = Range("D" & Rows.Count).End(xlUp).Row + 1

  Range("D" & l) = Application.WorksheetFunction.Sum(Sheets("Select billard").Range("F1"))

end if

End Sub

merci

Bonjour

Tu écris :

qui ferai en sorte de ne pas afficher se numéro, si la cellule de la colone A est vide.

Il y a beaucoup de cellules en colonne A.

De laquelle s'agit-il ?

Avec ton fichier, ce serait mieux...

Bye !

autant pour moi je pensais avoir mis le fichier avec

je parlais de la premiere cellule vide dans la colone A

24ligne-vide.xlsm (381.84 Ko)

j ai essayé ce code mais toujours sans succes

Private Sub CommandButton3_Click() '''a modifier dans les autres UF

If Libellé = TextBox1 Or Libellé = Numero Then  ' => SI condition validée ALORS
   'Instructions si vrai

Sheets("Tournois").Cells(ligne, 5) = Libellé.Value
Me.ZoneRec.RowSource = Range("A2:E2", Range("A65000").End(xlUp)).Address

Else ' => SINON
   'Instructions si faux
     MsgBox " Vous n'avez pas rentré le bon joueur"
     Libellé.Value = Clear

End If

 Dim l As Integer

If (Sheets("Tournois").Cells(ligne, 1)) = empty Then

l = Range("D" & Rows.Count).End(xlUp).Row + 1

Range("D" & l) = Application.WorksheetFunction.Sum(Sheets("Select billard").Range("F1"))

Else

End If

End Sub
svbb a écrit :

une condition qui ferai en sorte de ne pas afficher se numéro, si la cellule de la colone A est vide.

Un essai à tester. Te convient-il ?

Bye !

79ligne-vide-v1.xlsm (373.36 Ko)

c est parfait je te remercie

Rechercher des sujets similaires à "listbox codition ligne vide"