Sélectionner une matrice qui a un nom et modifier cellules

Bonjour,

J'ai une matrice qui se nomme selec que je souhaite transformer de la façon suivante

1 si Selec_ij >= 10 [c'est a dire donner la valeur de 1 si le chiffre actuel >= 10]

0 sinon [c'est a dire donner la valeur 0 sinon]

Je m'inspire d'une structure que j'applique souvent sur Matlab. Mais je dois faire un projet sur VBA et n'arrive pas à comprendre ce qui ne va pas dans mon code ...

Sub GrosseLoop()
    matrix = Range("selec").Select  'selec est nommé dans le gestionnaire des noms
    Dim i As Integer
    Dim j As Integer
    For i = 1 To 7  ' Il serait mieux de remplacer le 7 par une detection automatique mais je ne sais pas comment faire
        For j = 1 To 8 ' même commentaire
            If matrix(i, j) >= 10 Then
                matrix(i, j) = 1
            Else
                matrix(i, j) = 0
            End If
        Next j
    Next i
End Sub

Bonjour,

Tu peux choisir de traiter ta plage de données avec un objet Range ou un tableau.

Voici un exemple de ces deux traitements :

A+

C'est génial merci beaucoup à toi 8)

En fait. Est-ce qu'il y a une possibilité d'écrire un code à la place d'écrire"To 7" et "To 8". J'entends, ne pas compter soi-même les lignes et les colonnes, mais laisser vba faire...?

Option Base 1
Sub GrosseLoop1()
Dim i As Integer
Dim j As Integer
Dim Matrix As Range 'Matrix est une plage de cellules
    Set Matrix = Range("selec1")
    For i = 1 To 7
        For j = 1 To 8
            If Matrix(i, j) >= 10 Then
                Matrix(i, j) = 1
            Else
                Matrix(i, j) = 0
            End If
        Next j
    Next i
End Sub

Pour le nombre de lignes, tu peux utiliser Matrix.rows.Count

Pour le nombre de colonnes, tu peux utiliser Matrix.columns.Count

A+

Merci beacoup.

Rechercher des sujets similaires à "selectionner matrice qui nom modifier"