Syntaxe pour effacer des cellules dans une variable tableau

Bonjour à tous,

Question de syntaxe (je suppose ?)

Je voudrais effacer dans une variable tableau quelques valeurs de cellules en fonction de la valeur d'une autre cellule.

Mon tableau étant sélectionné, la procédure ci-dessous fonctionne, mais elle ne me parait pas optimisée.

For i = 1 To UBound(Tb)
  If Tb(i, 1) <> "" Then
     Tb(i, 4) = ""
     Tb(i, 8) = ""
     Tb(i, 12) = ""
     Tb(i, 13) = ""
     Tb(i, 14) = ""
     Tb(i, 15) = ""
   End If
Next i

Il est sûrement possible d'écrire ça en une seule ligne ? En particulier pour les cellules jointes de 12 à 15.

En vous remerciant d'avance pour le temps passé et les explications.

Bon am

Dan

Bonjour Dan67100, le forum,

Un essai...à tout hasard.....?

Dim Arr(), j
  Arr = Array(4, 8, 12, 13, 14, 15)
   For i = 1 To UBound(Tb)
    If Tb(i, 1) <> "" Then
     For Each j In Arr
      Tb(i, j) = ""
     Next j
    End If
   Next i

Cordialement,

Bonjour,

Voici une possibilité :

col = array(4, 8, 12, 13, 14, 15)

For i = 1 To UBound(Tb)
    if Tb(i, 1) <> "" Then
        for k = lbound(col) to ubound(col)
            Tb(i, col(k)) = ""
        next k
    End If
Next i

Sinon, pour boucler sur les "colonnes" d'un tableau :

for k = lbound(Tb, 2) to ubound(Tb, 2)
    if k like "[48]" or k like "1[2-5]" then Tb(i, k) = ""
next k

Cdlt,

Edit : Salut xorsankukai ! Même résultat, c'est rassurant

Re,

Salut 3GB

Salut xorsankukai ! Même résultat, c'est rassurant

Oui, surtout pour moi,

Merci beaucoup à vous 2,

Impeccable !

Bon am

Dan

Rechercher des sujets similaires à "syntaxe effacer variable tableau"