Comment demander si le tableau est vide?

Bonjour,

je cherche à savoir si mon tableau à une dimension est vide ou pas?

pour cela j'ai fais le test suivant:

j'ai créer un petit tableau gantt_m1( )

de dimension 50 : redim gantt_m1(50)

gantt_m1(1) = 1
  ' je lui affecte la valeur 1 à la première case de mon tableau virtuel
'et la je fais le test pour savoir s'il confirme bien que mon tableau est non complétement vide 
For i = 0 To UBound(gantt_m1)

    If gantt_m1(i) = "" Then
        MsgBox "le tableau est vide"
    End If

Next i

Hélas , il m'affiche bien que mon taleau est vide , or ce n'est pas le cas !

deuxième petite question :

j'ai vu qu'on pouvait parcourir un tableau sur les lignes comme l'exemple suivant:

For i = 0 To 10
    tab_exemple(i) = Range("A" & i + 2)
Next

mais comment parcourir les colonne sur une même ligne?

merci beaucoup

bonsoir,

question 1:

gantt_m1(1) = 1
  ' je lui affecte la valeur 1 à la première case de mon tableau virtuel
'et la je fais le test pour savoir s'il confirme bien que mon tableau est non complétement vide 
vide=true
For i = 0 To UBound(gantt_m1)

    If gantt_m1(i) <> "" Then
        vide=false
exit for
    End If

Next i
if vide then msgbox "tableau vide"

question 2:

For i = 0 To 10
    tab_exemple(i) = cells(1, i + 2)  ' cells(numéro de ligne, numéro de colonne)
Next

Bonsoir

Bonsoir h2so4

Sauf indication contraire le 1er élément d'un tableau est le numéro 0

Donc ton test

gantt_m1(0) = 1
  ' je lui affecte la valeur 1 à la première case de mon tableau virtuel
'et la je fais le test pour savoir s'il confirme bien que mon tableau est non complétement vide
For i = 0 To UBound(gantt_m1)

    If gantt_m1(i) <> "" Then
        MsgBox "le tableau n'est pas vide"
    End If

Next i

Pour les lignes et colonnes, prépares un petit tableau de A1 à D2 (notes ce que tu veux dedans) et exécutes cette macro

Sub test()
Dim Tablo
Dim J As Integer, I As Integer

  ' Dans le cas le tableau commence avec l'indice 1
  Tablo = Range("A1:D2")
  For J = 1 To UBound(Tablo, 1)     ' Ce sont les lignes
  ' On peut écrire comme cela aussi
  'For J = 1 To UBound(Tablo)        ' Ce sont les lignes
    For I = 1 To UBound(Tablo, 2)   ' Ce sont les colonnes
      MsgBox "Ligne    " & J & vbCr & _
             "Colonne  " & I & vbCr & _
             "Valeur   " & Tablo(J, I)
    Next I
  Next J
End Sub

Regardes les cours VBA sur les tableaux https://www.excel-pratique.com/fr/vba/tableaux_vba.php

merci h2so4 et Banzai64, c'est nickel !

Rechercher des sujets similaires à "comment demander tableau vide"