Conversion macro VBA en VB.net express 2010.

Résolu
Elhyra - 21 nov. 2018 à 14:25
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
- 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
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022
129
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
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022
129
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
Mais justement, par rapport à ça, j'ai essayé plusieurs fois de faire cela, manipuler excel avec cela mais je n'ai jamais réussi, je ne comprend pas du tout. Merci quand même pour tes réponses ^^ !
0
cs_Le Pivert
Messages postés
7745
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
20 mai 2022
129
21 nov. 2018 à 15:57
0
Je vais allez voir cela merci !
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
21 nov. 2018 à 17:19
Bonsoir

Voici un article qui parle de la difficulté du passage de vba à vb.net.
https://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net
Dans le préambule il y a un lien vers un bon cours de vb.net
0