J'ai un fichier avec des donn=E9es texte en colonne A. Certaines
cellules sont en gras, d'autres non.
J'aimerai ins=E9rer une ligne avant chaque cellule en gras.
J'ai fait le code suivant :
Sub Ligne ()
Range("A1:A4000").Select
For Each Cell In Selection
Cell.Select
If ActiveCell.Font.Bold =3D True Then EntireRow.Insert.Select
ActiveCell.Offset(1, 0).Select
Next Cell
Set Cell =3D Nothing
End Sub
=E7a ne marche qu'=E0 moiti=E9 : =E7a ins=E8re bien une ligne mais seulement
avant la premi=E8re cellule en gras, et =E7a ne cesse de le faire.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DesseJ
Bonjour Richard,
Dans ta macro, tu boucles sur ta première ligne en gras. Le plus simple est de travailler en partant de la dernière ligne comme ceci :
Sub SautDeLigne() Dim i As Double For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Range("A" & i).Font.Bold = True Then Rows(i).Insert Shift:=xlDown Next End Sub
Cordialement Steph D.
Bonjour Richard,
Dans ta macro, tu boucles sur ta première ligne en gras. Le plus
simple est de travailler en partant de la dernière ligne comme ceci :
Sub SautDeLigne()
Dim i As Double
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Range("A" & i).Font.Bold = True Then Rows(i).Insert
Shift:=xlDown
Next
End Sub
Dans ta macro, tu boucles sur ta première ligne en gras. Le plus simple est de travailler en partant de la dernière ligne comme ceci :
Sub SautDeLigne() Dim i As Double For i = Range("A65536").End(xlUp).Row To 1 Step -1 If Range("A" & i).Font.Bold = True Then Rows(i).Insert Shift:=xlDown Next End Sub
Cordialement Steph D.
Elliac
Bonjour,
Sub InsérerSiGras() Range("a50000").End(xlUp).Select While ActiveCell.Row <> 1 If ActiveCell.Font.Bold = True Then ActiveCell.EntireRow.Insert ActiveCell.Offset(-1).Select Wend End Sub
Camille
"Richard G." wrote:
Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines cellules sont en gras, d'autres non. J'aimerai insérer une ligne avant chaque cellule en gras. J'ai fait le code suivant :
Sub Ligne () Range("A1:A4000").Select For Each Cell In Selection Cell.Select If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select ActiveCell.Offset(1, 0).Select Next Cell Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement avant la première cellule en gras, et ça ne cesse de le faire.
Merci par avance pour vos idées !
A+
Bonjour,
Sub InsérerSiGras()
Range("a50000").End(xlUp).Select
While ActiveCell.Row <> 1
If ActiveCell.Font.Bold = True Then ActiveCell.EntireRow.Insert
ActiveCell.Offset(-1).Select
Wend
End Sub
Camille
"Richard G." wrote:
Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines
cellules sont en gras, d'autres non.
J'aimerai insérer une ligne avant chaque cellule en gras.
J'ai fait le code suivant :
Sub Ligne ()
Range("A1:A4000").Select
For Each Cell In Selection
Cell.Select
If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select
ActiveCell.Offset(1, 0).Select
Next Cell
Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement
avant la première cellule en gras, et ça ne cesse de le faire.
Sub InsérerSiGras() Range("a50000").End(xlUp).Select While ActiveCell.Row <> 1 If ActiveCell.Font.Bold = True Then ActiveCell.EntireRow.Insert ActiveCell.Offset(-1).Select Wend End Sub
Camille
"Richard G." wrote:
Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines cellules sont en gras, d'autres non. J'aimerai insérer une ligne avant chaque cellule en gras. J'ai fait le code suivant :
Sub Ligne () Range("A1:A4000").Select For Each Cell In Selection Cell.Select If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select ActiveCell.Offset(1, 0).Select Next Cell Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement avant la première cellule en gras, et ça ne cesse de le faire.
Merci par avance pour vos idées !
A+
michdenis
Bonjour Richard,
'------------------------- Sub Ligne() Dim Rg As Range Set Rg = Worksheets("Feuil3").Range("A1:A4000") nb = Rg.Rows.Count Application.ScreenUpdating = False For a = nb To 1 Step -1 If Rg(a, 1).Font.Bold = True Then Rg(a, 1).EntireRow.Insert
End If Next Set Rg = Nothing
End Sub '-------------------------
Salutations!
"Richard G." a écrit dans le message de news: Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines cellules sont en gras, d'autres non. J'aimerai insérer une ligne avant chaque cellule en gras. J'ai fait le code suivant :
Sub Ligne () Range("A1:A4000").Select For Each Cell In Selection Cell.Select If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select ActiveCell.Offset(1, 0).Select Next Cell Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement avant la première cellule en gras, et ça ne cesse de le faire.
Merci par avance pour vos idées !
A+
Bonjour Richard,
'-------------------------
Sub Ligne()
Dim Rg As Range
Set Rg = Worksheets("Feuil3").Range("A1:A4000")
nb = Rg.Rows.Count
Application.ScreenUpdating = False
For a = nb To 1 Step -1
If Rg(a, 1).Font.Bold = True Then
Rg(a, 1).EntireRow.Insert
End If
Next
Set Rg = Nothing
End Sub
'-------------------------
Salutations!
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news: 1131461853.178480.158640@g49g2000cwa.googlegroups.com...
Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines
cellules sont en gras, d'autres non.
J'aimerai insérer une ligne avant chaque cellule en gras.
J'ai fait le code suivant :
Sub Ligne ()
Range("A1:A4000").Select
For Each Cell In Selection
Cell.Select
If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select
ActiveCell.Offset(1, 0).Select
Next Cell
Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement
avant la première cellule en gras, et ça ne cesse de le faire.
'------------------------- Sub Ligne() Dim Rg As Range Set Rg = Worksheets("Feuil3").Range("A1:A4000") nb = Rg.Rows.Count Application.ScreenUpdating = False For a = nb To 1 Step -1 If Rg(a, 1).Font.Bold = True Then Rg(a, 1).EntireRow.Insert
End If Next Set Rg = Nothing
End Sub '-------------------------
Salutations!
"Richard G." a écrit dans le message de news: Bonjour à tous,
J'ai un fichier avec des données texte en colonne A. Certaines cellules sont en gras, d'autres non. J'aimerai insérer une ligne avant chaque cellule en gras. J'ai fait le code suivant :
Sub Ligne () Range("A1:A4000").Select For Each Cell In Selection Cell.Select If ActiveCell.Font.Bold = True Then EntireRow.Insert.Select ActiveCell.Offset(1, 0).Select Next Cell Set Cell = Nothing
End Sub
ça ne marche qu'à moitié : ça insère bien une ligne mais seulement avant la première cellule en gras, et ça ne cesse de le faire.
Merci par avance pour vos idées !
A+
Richard G.
Rebonsoir,
Merci à tous les 3 pour vos solutions respectives, chacune très efficaces ! Merci beaucoup.
A+
Rebonsoir,
Merci à tous les 3 pour vos solutions respectives, chacune très
efficaces !
Merci beaucoup.