Conversion macro VBA en VB.net express 2010.

Résolu
Elhyra - 21 nov. 2018 à 14:25
Whismeril Messages postés 19024 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 18 avril 2024 - 21 nov. 2018 à 17:19
Bonjour,

Récemment, j'ai fais une macro excel que j'aimerais mettre en .exe. Voyant que cela était impossible, j'ai été contraint à me tourner vers vb.net. Cependant, après avoir essayé certains codes, appris la base du logiciel et regardait des tutos pour migrer de VBA en VB, je ne parviens pas à réécrire mon code. J'aurais donc besoins d'un peu d'aide pour le récrire.

Voilà une petite partie de ce dernier afin que je suive l'exemple si jamais quelqu'un a une idée.

 
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 'rétabli la couleur auto
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

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
21 nov. 2018 à 15:43
Bonjour,

Nous t'avons donné la marche à suivre ici:

https://codes-sources.commentcamarche.net/forum/affich-10089102-virtual-basic-2010-soucis-d-expression
suis donc les recommandations!
0
Merci pour ta réponse une fois de plus Pivert, mais cette fois-ci elle ne m'est pas utile car je ne comprend pas, comme je l'ai dis plus haut, j'ai besoins d'un exemple pour comprendre.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
21 nov. 2018 à 15:49
Je t'ai dit que tu trouveras la manière de procéder ici:

https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net

quand tu auras fait cela on pourra travailler sur ton code vba!
0
Rejoignez-nous