Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

10 réponses

1 2
Avatar
isabelle
bonjour jp,

je ne crois pas, mais tu peut en mettre,

Sub Macro1()
1: With Selection
2: .Locked = False
3: .FormulaHidden = False
4: For Each bd In .Borders
5: bd.ColorIndex = 49
6: Next
7: End With
End Sub

isabelle

j-pascal a écrit :
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
j-pascal
Bonsoir Isabelle,

Dommage ;-(

J'aime bien notepad ++ pour ça ; mais ça suppose d'imprimer le code !

Merci pour ta réponse (et pour la réponse à la question précédente)

jp

bonjour jp,

je ne crois pas, mais tu peut en mettre,

Sub Macro1()
1: With Selection
2: .Locked = False
3: .FormulaHidden = False
4: For Each bd In .Borders
5: bd.ColorIndex = 49
6: Next
7: End With
End Sub

isabelle

j-pascal a écrit :
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
j-pascal
Bonsoir Denis,

Je vais essayer ; faut-il mettre ce code dans un module standard ?

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
j-pascal
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
j-pascal
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
Mgr T. Banni
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
Misange
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




Je pense qu'il s'agit bien de VBA code cleaner, en tous cas, "comme ça",
je ne vois rien d'autre de ce genre sur excelabo. A l'occasion j'en
remettrai l'adresse d'ailleurs sur excelabo avec celles des add-ins les
plus intéressants.

--
Misange migrateuse
http://www.excelabo.net : Participez à un travail collaboratif sur excel !
Avatar
j-pascal
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
Mgr T. Banni
:-)
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
j-pascal
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
















1 2