Elhyra
-
21 nov. 2018 à 14:25
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
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
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.
cs_Le Pivert
Messages postés7893Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention19 mai 2023136 21 nov. 2018 à 15:49
Je t'ai dit que tu trouveras la manière de procéder ici:
21 nov. 2018 à 15:46
21 nov. 2018 à 15:49
https://codes-sources.commentcamarche.net/source/100410-piloter-office-en-vb-net
quand tu auras fait cela on pourra travailler sur ton code vba!