commentaire de code vba

  • Initiateur de la discussion Initiateur de la discussion sniper
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sniper

Guest
Bonjour,
j'aimerai savoir comment on fait pour commenter un code ?
Je voudrais un peu d'aide pour m'expliquer ce code que j'ai du mal à comprendre ?
merci pour votre aide


Sub chercher()
Dim wbks As Workbook, adr$, fin&, x$, n, n1$, t
adr = ThisWorkbook.Path
x = Year(Date)
With Feuil1
If Application.WorksheetFunction.CountA(.Range("B2:B100")) > 0 Then

fin = .Range("B" & Rows.Count).End(xlUp).Row
val = .Range("B" & fin)
n = Split(val, "-")(2): n1 = CDbl(n) + 5
val = Replace(val, n, n1)
Else:
Set wbks = Workbooks.Open(adr & ":Factures.xlsx")
'Set wbks = Workbooks.Open(adr & "\Factures.xlsx")
With wbks.Sheets(x)
fin = .Range("B" & Rows.Count).End(xlUp).Row
val = .Range("B" & fin)
End With
wbks.Close
n = Split(val, "-")(2): n1 = CDbl(n) + 5
val = Replace(val, n, n1)
End If
End With
End Sub
 
Re : commentaire de code vba

Bonjour,
pour commenter un code, il faut mettre un apostrophe devant la ligne de commentaire

ensuite.. si c'est pas toi qui a fait le code. c'est toujours plus compliqué de comprendre ce que l'autre a voulu faire..

ce qui donne ceci
Code:
Sub chercher()
'déclaration des variables
Dim wbks As Workbook, adr$, fin&, x$, n, n1$, t
'récupération du chemin du classeur en cours
adr = ThisWorkbook.Path
'récupération de l'année en cours
x = Year(Date)
'avec la feuille1
With Feuil1
    'si le nombre de cellules non vides dans la range (B2:B1 00 ???) positif alors
    If Application.WorksheetFunction.CountA(.Range("B2:B1 00")) > 0 Then
        'fin=dernière cellule non vide de la colonne B
        fin = .Range("B" & Rows.Count).End(xlUp).Row
        'val = donnée de la dernière cellule de la colonne B
        Val = .Range("B" & fin)
        ' sépare le contenu de Val
        n = Split(Val, "-")(2): n1 = CDbl(n) + 5
        'remplace des éléments dans Val
        Val = Replace(Val, n, n1)
    'sinon
    Else:
        'ouvre le fichier Factures.xlsx
        Set wbks = Workbooks.Open(adr & ":Factures.xlsx")
        'Set wbks = Workbooks.Open(adr & "\Factures.xlsx")
        
        With wbks.Sheets(x)
        'fin=dernière cellule non vide de la colonne B
            fin = .Range("B" & Rows.Count).End(xlUp).Row
        'val = donnée de la dernière cellule de la colonne B
            Val = .Range("B" & fin)
        End With
        'ferme le classeur
        wbks.Close
        n = Split(Val, "-")(2): n1 = CDbl(n) + 5
        Val = Replace(Val, n, n1)
    End If
End With
End Sub

chez moi. ca plante dans tous les sens...

ha. et pour comprendre ce que fait un code, il ne faut pas hésiter à jouer de la touche F1. Bien souvent tu as des exemples qui te permettent une comprehension rapide
 
Re : commentaire de code vba

Re vgendron,

Merci en tout cas çà m'a beaucoup aidé
ceci est la suite de mon code, je voulais savoir si tu pouvais jeté un coup d'oeil et le commenter
merci bcp 😉





Sub copier()
Dim wbkc As Workbook, adr$, fin&, x$, wbks As Workbook, fin1&, i&, n$ 'déclaration des variables'
adr = ThisWorkbook.Path 'récupération de l'année en cours'
Application.ScreenUpdating = 0
Set wbks = ThisWorkbook
x = Year(Date)
Set wbkc = Workbooks.Open(adr & ":Cotations.xlsx") 'mac
'Set wbkc = Workbooks.Open(adr & "\Cotations.xlsx")
wbkc.Sheets(x).Select
With wbkc.Sheets(x)
fin = .Cells.Find("*", , xlValues, , 1, 2, 0).Row + 1
End With
With wbks.Sheets("Final")
fin1 = .Cells.Find("*", , xlValues, , 1, 2, 0).Row + 1
End With
For i = fin1 To 2 Step -1
If wbks.Sheets("Final").Cells(i, 2) <> "" Then
wbks.Sheets("Final").Rows(i).Copy wbkc.Sheets(x).Rows(fin)
fin = fin + 1
End If
Next i
With wbks.Sheets("Final")
fin1 = .Cells.Find("*", , xlValues, , 1, 2, 0).Row
End With
wbkc.Close 1
'Set wbkc = Workbooks.Open(adr & "\Vsatech.xlsx")
Set wbkc = Workbooks.Open(adr & ":Vsatech.xlsx") 'mac
wbkc.Sheets("Feuil1").Cells(4, 1) = CDate(wbks.Sheets("Final").Cells(fin1, 1))
wbkc.Sheets("Feuil1").Cells(4, 3) = wbks.Sheets("Final").Cells(fin1, 2)
wbkc.Sheets("Feuil1").Cells(3, 9) = wbks.Sheets("Final").Cells(fin1, 4)
wbkc.Sheets("Feuil1").Cells(14, 3) = wbks.Sheets("Final").Cells(fin1, 9)
wbkc.Sheets("Feuil1").Cells(14, 1) = wbks.Sheets("Final").Cells(fin1, 15)
wbkc.Sheets("Feuil1").Cells(14, 12) = "135 days" 'wbks.Sheets("Final").Cells(fin1, 4)
wbkc.Sheets("Feuil1").Cells(14, 14) = wbks.Sheets("Final").Cells(fin1, 16)
n = wbks.Sheets("Final").Cells(fin1, 6) & " " & wbks.Sheets("Final").Cells(fin1, 7) & " " & wbks.Sheets("Final").Cells(fin1, 8)
 
Dernière modification par un modérateur:
Re : commentaire de code vba

bonjour,
est-il possible de changer ces coordonnées de cellules par des variables en utilisant un pointeur
merci bcp 😉


code:

wbkc.Sheets("Feuil1").Cells(4, 1) = CDate(wbks.Sheets("Final").Cells(fin1, 1))
wbkc.Sheets("Feuil1").Cells(4, 3) = wbks.Sheets("Final").Cells(fin1, 2) classeur Vsatech'
wbkc.Sheets("Feuil1").Cells(3, 9) = wbks.Sheets("Final").Cells(fin1, 4)
wbkc.Sheets("Feuil1").Cells(7, 9) = wbks.Sheets("Final").Cells(fin1, 5)
wbkc.Sheets("Feuil1").Cells(8, 9) = wbks.Sheets("Final").Cells(fin1, 13)
wbkc.Sheets("Feuil1").Cells(9, 9) = wbks.Sheets("Final").Cells(fin1, 14)
wbkc.Sheets("Feuil1").Cells(14, 1) = wbks.Sheets("Final").Cells(fin1, 15)
wbkc.Sheets("Feuil1").Cells(14, 3) = wbks.Sheets("Final").Cells(fin1, 9)
wbkc.Sheets("Feuil1").Cells(14, 6) = wbks.Sheets("Final").Cells(fin1, 16)
wbkc.Sheets("Feuil1").Cells(14, 12) = wbks.Sheets("Final").Cells(fin1, 17)
wbkc.Sheets("Feuil1").Cells(14, 14) = wbks.Sheets("Final").Cells(fin1, 18)
wbkc.Sheets("Feuil1").Cells(14, 16) = wbks.Sheets("Final").Cells(fin1, 19)
wbkc.Sheets("Feuil1").Cells(38, 1) = wbks.Sheets("Final").Cells(fin1, 20)
wbkc.Sheets("Feuil1").Cells(38, 5) = wbks.Sheets("Final").Cells(fin1, 21)
wbkc.Sheets("Feuil1").Cells(38, 9) = wbks.Sheets("Final").Cells(fin1, 22)
wbkc.Sheets("Feuil1").Cells(38, 13) = wbks.Sheets("Final").Cells(fin1, 23)
n = wbks.Sheets("Final").Cells(fin1, 16)
wbkc.Sheets("Feuil1").Cells(14, 5) = n
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
917
Réponses
4
Affichages
738
Réponses
4
Affichages
757
Retour