OVH Cloud OVH Cloud

n° de ligne dans la fenêtre de code

13 réponses
Avatar
j-pascal
Bonsoir,

Y-at-il une option qui permettrait d'afficher le numéro (de ligne)
correspondant à chaque ligne du code ?

Je trouverais ça pratique, mais je n'ai pas trouvé ...

Merci pour vos réponses,

jp

3 réponses

1 2
Avatar
Mgr T. Banni
:-)))))
est-ce à dire, pour autant, que j'appartiens au clergé séculin? :-)
à vous relire, mon fils
Mgr T.B.

"j-pascal" a écrit dans le message de news:

Bonsoir Mgr,

Délicat de s'aventurer dans des jeux de mots avec celui qui s'écrit :

- au féminin, quand il est au masculin - Le foie,
- au masculier, quand il est au féminin - La Foi,
- au pluriel, quand il est au singulier - Une fois !

jp





:-)
mais, mon fils, par la sainte pitié, ne me parlez pas de foi(e)
Mgr T.B.

"j-pascal" a écrit dans le message de news:

Bonsoir Mgr,

Merci de m'inviter à la prudence. J'ai perdu l'habitude de douter de
certains contributeurs ;-) Il paraît pourtant que le doute nourrit la
Foi ... Me diras-tu le contraire !?

jp

bonjour jp
attention, proc présentant des effets indésirables mais je ne parlerai
qu'en présence de mon avocat...
Mgr T.B.

"j-pascal" a écrit dans le message de news:

Bonsoir Denis,

Aïe, aïe, je craignais que même en n'osant pas poser la question, tu
cherches quand même la réponse. J'espère que ça n'entâme pas (trop)
mon crédit "questions aux contributeurs", car j'ai des préoccupations
plus prioritaires sur mes classeurs du moment ?! ;-)

Pas encore essayé, mais merci d'avance,

jp

Pour enlever les numéros de ligne de code :


'----------------------------------------------
Sub Supprimer_Numéros_De_Lignes()
Dim i As Integer, Nb As Integer
Dim Col As Integer, Temp As String
Dim Texte As String, Texte1 As String
With ActiveWorkbook.VBProject
Nb = .VBComponents.Count
For i = 1 To Nb
For j = 2 To .VBComponents(i).CodeModule.CountOfLines
Temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
On Error Resume Next
Col = InStr(1, Temp, " ") - 1
Texte = (VBA.Mid(Temp, Col, 1) = ":")
Texte1 = IsNumeric(Left(Temp, InStr(1, Temp, ":") - 1))
If Texte And Texte1 Then
Temp = Trim(Right(Temp, Len(Temp) - InStr(1, Temp,
":")))
.VBComponents(i).CodeModule.DeleteLines j
.VBComponents(i).CodeModule.InsertLines j, Temp
End If
Next j
Next i
End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : J'ai testé. Beau
travail !

Il ne faut pas oublier de tabuler les "Sub" et autres "déclarations
de variables" placées à gauche pour laisser de la place aux chiffres
sinon l'effet est un peu étrange ...

L'idéal serait que les nombres s'alignent à droite (pour éviter de
décaler le code) ;-)

J'ose à peine te demander s'il y a un moyen simple et rapide (!!)
d'ajuster le présent code pour enlever les numéros ainsi créés ?!

jp

Bonjour J-Pascal,

Cette procédure devrait ajouter des numéros de ligne aux modules du
classeur en cours...

Je crois que c'est une procédure de Bernie Deitrick
'----------------------------------------
Sub NumberLines()
2: With ActiveWorkbook.VBProject
3: For i = 1 To .VBComponents.Count
4: For j = 2 To .VBComponents(i).CodeModule.CountOfLines
5: temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
6: On Error Resume Next
7: pcolon = InStr(1, temp, " ") - 1
8: Test1 = (VBA.Mid(temp, pcolon, 1) = ":")
9: test2 = IsNumeric(Left(temp, InStr(1, temp, ":") - 1))
10: If Test1 And test2 Then
11: temp = Trim(Right(temp, Len(temp) - InStr(1, temp, ":")))
12: End If
13: If (Left(temp, 4) <> "Sub ") And _
(Left(temp, 4) <> "Dim ") And _
(InStr(1, temp, "End Sub") = 0) And _
(Mid(temp, InStr(1, temp, " ") - 1, 1) <> ":") And _
(Right(Trim(.VBComponents(i).CodeModule.Lines(j - 1, 1)), 1) <>
"_") And _ (Len(Application.Substitute(temp, " ", "")) <> 0)
Then
19: .VBComponents(i).CodeModule.DeleteLines j
20: .VBComponents(i).CodeModule.InsertLines j, j & ": " & temp
21: End If
22: Next j
23: Next i
24: End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : Bonsoir,

Y-at-il une option qui permettrait d'afficher le numéro (de ligne)
correspondant à chaque ligne du code ?

Je trouverais ça pratique, mais je n'ai pas trouvé ...

Merci pour vos réponses,

jp




















Avatar
isabelle
y'a pas à dire, j'peut ben m'enfarger dans les lettres ;-)

isabelle


Mgr T. Banni a écrit :
:-)))))
est-ce à dire, pour autant, que j'appartiens au clergé séculin? :-)
à vous relire, mon fils
Mgr T.B.

"j-pascal" a écrit dans le message de news:


Bonsoir Mgr,

Délicat de s'aventurer dans des jeux de mots avec celui qui s'écrit :

- au féminin, quand il est au masculin - Le foie,
- au masculier, quand il est au féminin - La Foi,
- au pluriel, quand il est au singulier - Une fois !

jp






:-)
mais, mon fils, par la sainte pitié, ne me parlez pas de foi(e)
Mgr T.B.

"j-pascal" a écrit dans le message de news:


Bonsoir Mgr,

Merci de m'inviter à la prudence. J'ai perdu l'habitude de douter de
certains contributeurs ;-) Il paraît pourtant que le doute nourrit la
Foi ... Me diras-tu le contraire !?

jp


bonjour jp
attention, proc présentant des effets indésirables mais je ne parlerai
qu'en présence de mon avocat...
Mgr T.B.

"j-pascal" a écrit dans le message de news:


Bonsoir Denis,

Aïe, aïe, je craignais que même en n'osant pas poser la question, tu
cherches quand même la réponse. J'espère que ça n'entâme pas (trop)
mon crédit "questions aux contributeurs", car j'ai des préoccupations
plus prioritaires sur mes classeurs du moment ?! ;-)

Pas encore essayé, mais merci d'avance,

jp


Pour enlever les numéros de ligne de code :


'----------------------------------------------
Sub Supprimer_Numéros_De_Lignes()
Dim i As Integer, Nb As Integer
Dim Col As Integer, Temp As String
Dim Texte As String, Texte1 As String
With ActiveWorkbook.VBProject
Nb = .VBComponents.Count
For i = 1 To Nb
For j = 2 To .VBComponents(i).CodeModule.CountOfLines
Temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
On Error Resume Next
Col = InStr(1, Temp, " ") - 1
Texte = (VBA.Mid(Temp, Col, 1) = ":")
Texte1 = IsNumeric(Left(Temp, InStr(1, Temp, ":") - 1))
If Texte And Texte1 Then
Temp = Trim(Right(Temp, Len(Temp) - InStr(1, Temp,
":")))
.VBComponents(i).CodeModule.DeleteLines j
.VBComponents(i).CodeModule.InsertLines j, Temp
End If
Next j
Next i
End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : J'ai testé. Beau
travail !

Il ne faut pas oublier de tabuler les "Sub" et autres "déclarations
de variables" placées à gauche pour laisser de la place aux chiffres
sinon l'effet est un peu étrange ...

L'idéal serait que les nombres s'alignent à droite (pour éviter de
décaler le code) ;-)

J'ose à peine te demander s'il y a un moyen simple et rapide (!!)
d'ajuster le présent code pour enlever les numéros ainsi créés ?!

jp


Bonjour J-Pascal,

Cette procédure devrait ajouter des numéros de ligne aux modules du
classeur en cours...

Je crois que c'est une procédure de Bernie Deitrick
'----------------------------------------
Sub NumberLines()
2: With ActiveWorkbook.VBProject
3: For i = 1 To .VBComponents.Count
4: For j = 2 To .VBComponents(i).CodeModule.CountOfLines
5: temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
6: On Error Resume Next
7: pcolon = InStr(1, temp, " ") - 1
8: Test1 = (VBA.Mid(temp, pcolon, 1) = ":")
9: test2 = IsNumeric(Left(temp, InStr(1, temp, ":") - 1))
10: If Test1 And test2 Then
11: temp = Trim(Right(temp, Len(temp) - InStr(1, temp, ":")))
12: End If
13: If (Left(temp, 4) <> "Sub ") And _
(Left(temp, 4) <> "Dim ") And _
(InStr(1, temp, "End Sub") = 0) And _
(Mid(temp, InStr(1, temp, " ") - 1, 1) <> ":") And _
(Right(Trim(.VBComponents(i).CodeModule.Lines(j - 1, 1)), 1) <>
"_") And _ (Len(Application.Substitute(temp, " ", "")) <> 0)
Then
19: .VBComponents(i).CodeModule.DeleteLines j
20: .VBComponents(i).CodeModule.InsertLines j, j & ": " & temp
21: End If
22: Next j
23: Next i
24: End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : Bonsoir,

Y-at-il une option qui permettrait d'afficher le numéro (de ligne)
correspondant à chaque ligne du code ?

Je trouverais ça pratique, mais je n'ai pas trouvé ...

Merci pour vos réponses,

jp























Avatar
G.David
Bonjour
de mémoire MZ-Tools un addon de VBA supprime ou met des numéros de
ligne cet utilitaire tourne sur VBA VB VB.net
Cordialement
G.David
PS c'est peut être un très vieux code Basic
MichDenis a écrit :
Bonjour Mgr,

Vous avez parfaitement raison de le mentionner. Je ne crois pas que l'auteur de la macro avait en tête la perception d'avoir écrit un code adaptable à toutes les situations. Dans les faits, cette macro est déficiente à plus d'un égard, mais, et si je l'ai publiée ici, elle permet de se rendre compte que la numérotation du code n'est pas aussi intéressante que ça et souvent, le demandeur chercher à nouveau un outil pour l'enlever, comme dans le cas présent.
Perso, je ne vais pas tenter de compléter cette procédure pour laquelle je n'ai que peu d'intérêt.
Il y a quelques années, quelqu'un avait publié ici l'adresse d'une macro complémentaire qui ajoutait une barre d'outils dans la fenêtre vbe qui ajoutait une kyrielle de fonctions. Peut-être que Misange a-t-elle ce fichier sur son site Excelabo ? Ou était-ce "VBA Code Cleaner" que l'on peut télécharger directement et gratuitement à cette adresse : http://www.appspro.com/Utilities/Utilities.htm




"Mgr T. Banni" a écrit dans le message de groupe de discussion : #
bonjour jp
attention, proc présentant des effets indésirables mais je ne parlerai qu'en
présence de mon avocat...
Mgr T.B.

"j-pascal" a écrit dans le message de news:

Bonsoir Denis,

Aïe, aïe, je craignais que même en n'osant pas poser la question, tu
cherches quand même la réponse. J'espère que ça n'entâme pas (trop) mon
crédit "questions aux contributeurs", car j'ai des préoccupations plus
prioritaires sur mes classeurs du moment ?! ;-)

Pas encore essayé, mais merci d'avance,

jp

Pour enlever les numéros de ligne de code :


'----------------------------------------------
Sub Supprimer_Numéros_De_Lignes()
Dim i As Integer, Nb As Integer
Dim Col As Integer, Temp As String
Dim Texte As String, Texte1 As String
With ActiveWorkbook.VBProject
Nb = .VBComponents.Count
For i = 1 To Nb
For j = 2 To .VBComponents(i).CodeModule.CountOfLines
Temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
On Error Resume Next
Col = InStr(1, Temp, " ") - 1
Texte = (VBA.Mid(Temp, Col, 1) = ":")
Texte1 = IsNumeric(Left(Temp, InStr(1, Temp, ":") - 1))
If Texte And Texte1 Then
Temp = Trim(Right(Temp, Len(Temp) - InStr(1, Temp, ":")))
.VBComponents(i).CodeModule.DeleteLines j
.VBComponents(i).CodeModule.InsertLines j, Temp
End If
Next j
Next i
End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : J'ai testé. Beau
travail !

Il ne faut pas oublier de tabuler les "Sub" et autres "déclarations de
variables" placées à gauche pour laisser de la place aux chiffres sinon
l'effet est un peu étrange ...

L'idéal serait que les nombres s'alignent à droite (pour éviter de
décaler le code) ;-)

J'ose à peine te demander s'il y a un moyen simple et rapide (!!)
d'ajuster le présent code pour enlever les numéros ainsi créés ?!

jp

Bonjour J-Pascal,

Cette procédure devrait ajouter des numéros de ligne aux modules du
classeur en cours...

Je crois que c'est une procédure de Bernie Deitrick
'----------------------------------------
Sub NumberLines()
2: With ActiveWorkbook.VBProject
3: For i = 1 To .VBComponents.Count
4: For j = 2 To .VBComponents(i).CodeModule.CountOfLines
5: temp = Trim(.VBComponents(i).CodeModule.Lines(j, 1))
6: On Error Resume Next
7: pcolon = InStr(1, temp, " ") - 1
8: Test1 = (VBA.Mid(temp, pcolon, 1) = ":")
9: test2 = IsNumeric(Left(temp, InStr(1, temp, ":") - 1))
10: If Test1 And test2 Then
11: temp = Trim(Right(temp, Len(temp) - InStr(1, temp, ":")))
12: End If
13: If (Left(temp, 4) <> "Sub ") And _
(Left(temp, 4) <> "Dim ") And _
(InStr(1, temp, "End Sub") = 0) And _
(Mid(temp, InStr(1, temp, " ") - 1, 1) <> ":") And _
(Right(Trim(.VBComponents(i).CodeModule.Lines(j - 1, 1)), 1) <> "_")
And _ (Len(Application.Substitute(temp, " ", "")) <> 0) Then
19: .VBComponents(i).CodeModule.DeleteLines j
20: .VBComponents(i).CodeModule.InsertLines j, j & ": " & temp
21: End If
22: Next j
23: Next i
24: End With
End Sub
'----------------------------------------



"j-pascal" a écrit dans le message de groupe de
discussion : Bonsoir,

Y-at-il une option qui permettrait d'afficher le numéro (de ligne)
correspondant à chaque ligne du code ?

Je trouverais ça pratique, mais je n'ai pas trouvé ...

Merci pour vos réponses,

jp









1 2