Bonjour tout le monde,


Je suis encore assez débutant en VBA, mais je m'entraine à faire quelques exercices.

Le dernier en date : trier une série de nom d'un classeur.

Plus précisément, je veux que le curseur identifie les valeurs qui sont des textes pour ensuite les mettre, dans une autre feuille, dans la colonne de la première lettre du mot en question, et ce, les uns à la suite des autres.

J'ai donc utilisé la fonction left, mais je galère à faire tourner ma macro.

Voici mon code actuel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub Tri()
 
Dim numligne As Integer
Dim numcolonne As Integer
Dim Var_mot As String
Dim Var_lettre As String
 
 
 
For numligne = 1 To 6
    For numcolonne = 1 To 5
        If Not numeric Then
 
         Sheets("Mots").Select
         Cells(numligne, numcolonne).Activate
         Var_mot = Cells(numligne, numcolonne).Value
         Var_lettre = "=LEFT(Var_mot,1)"
 
                   Sheets("Tri").Select
                   Columns("Var_lettre").Select
                If Range("Var_lettre" & 1).Value = "" Then
                   Range("Var_lettre" & 1).Value = l
                Else
                   Range("Var_lettre" & 2).Value = l
                End If
                    If Range("Var_lettre" & 2).Value <> "" Then
                        Range("Var_lettre" & 1).Select
                        Selection.Selection(xlDown).Offset(1, 0).Value = Var_mot
                    End If
        End If
    Next
Next
Je reste à votre disposition si vous avez besoin de précision.

Merci d'avance

Coklin