Bien le bonjour,

Je cherche depuis quelques temps à faire une application permettant de vérifier un tableau excel à l'aide de conditions. Exemple, si la case désignation contient + de 50 caractères, alors la surligner en rouge, puis créer un fichier texte avec la ligne fausse.

J'ai réussis à faire ce code sur VBA excel mais le mieux serait d'avoir une application en .exe pour me permettre d’exécuter le programme de vérification le plus simplement possible. Cependant, je n'ai que de très faible connaissance en VB.net.

Si quelqu'un saurait me montrer comment faire avec une partie du code convertit en VBA, cela me servirait grandement !

Au passage, j'ai déjà vu de nombreux tutos, de nombreux post anglais et français à ce sujet, mais jamais aucun n'était vraiment clair et n’expliquai ce que je cherchais.


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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
 
Option Explicit
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Dim mess As String
Private Sub CommandButton1_Click()
   Columns("B:L").Font.ColorIndex = xlAutomatic 'La couleur revient par défaut.
bouclecolonneB
bouclecolonneC
bouclecolonneD
bouclecolonneE
bouclecolonneF
bouclecolonneG
bouclecolonneH
bouclecolonneI
bouclecolonneJ
bouclecolonneK
bouclecolonneL
 
End Sub
 
 
Sub bouclecolonneB()
    Dim FL1, x
    Set FL1 = Worksheets("Feuil1")
    NoCol = 2    'lecture de la colonne B
    For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
        Var = FL1.Cells(NoLig, NoCol)
            If Len(Var) > 50 Then
                Rows(NoLig & ":" & NoLig).Font.Color = RGB(255, 0, 0)    'rouge
                mess = mess & vbCrLf & "La colonne désignation est éronnée. " & NoLig
            End If
    Next
    'creation de ton fichier rapport ici avec open for input par exemple
    x = FreeFile
    Open Environ("userprofile") & "\DeskTop\rapport d'erreur.txt" For Output As #x: Print #x, mess: Close #x
    Set FL1 = Nothing
End Sub
 
 
Sub bouclecolonneC()
Dim FL1, x
Set FL1 = Worksheets("Feuil1")
NoCol = 3 'lecture de la colonne C
For NoLig = 1 To Split(FL1.UsedRange.Address, "$")(4)
    Var = FL1.Cells(NoLig, NoCol)
    If Var = "" Or IsNumeric(Var) = False Then
        Rows(NoLig & ":" & NoLig).Font.Color = RGB(255, 0, 0) 'rouge
        mess = mess & vbCrLf & "La colonne Prix 1 est éronnée. " & NoLig
    End If
Next
x = FreeFile
Open Environ("userprofile") & "\DeskTop\rapport d'erreur.txt" For Output As #x: Print #x, mess: Close #x
Set FL1 = Nothing
End Sub