OVH Cloud OVH Cloud

insertion de lignes

4 réponses
Avatar
ptck
Bonjour à tous

j'ai un fichier classé par nom dans la colonne D .
En VBA j'ai réussi à insérer une ligne au début du fichier et mettre un nom
en gras aux colonnes (je débute ) et je voudrai insérer une ligne à chaque
changement de nom dans la colonne D. La longueur du fichier peut changer .

merci d'avance

4 réponses

Avatar
Lepage Stephane
"ptck" a écrit dans le message de
news:
Bonjour à tous

j'ai un fichier classé par nom dans la colonne D .
En VBA j'ai réussi à insérer une ligne au début du fichier et mettre un
nom

en gras aux colonnes (je débute ) et je voudrai insérer une ligne à
chaque

changement de nom dans la colonne D. La longueur du fichier peut changer .

merci d'avance

Excel insère toujours ligne au dessus de la ligne

Tu dois donc atteindre la dernière cellule de la colonne et remonter d'une
cellule à chaque foiS.
Il faut sans doute le mettre dans une boucle For each c in ...
@+

Avatar
Lepage Stephane
Si tu veux trouver tout seul ne lis pas la suite

Attention il faut éventuellement l'adapter
Pas de vides depuis la ligne1 de la colonne D pour démarrer
sinon ça loop et reloooooooooooooop sans arrêt ..au secours ;;;Echap
Il faut également prévoir tout ce que je n'aipas imaginé de ton tableau
ex: cellules vides en plein milieu

Lorsque tu seras sûr qu'il n'y a plus de bug possible
tu peux rajouter

Application.ScreenUpdating = False juste après la ligne sub
Application.ScreenUpdating = True juste avant la ligne endsub
en enlevant la quot ' .

*****
Sub insbetween()
'Application.ScreenUpdating = False
If ActiveCell <> Cells(2, 4) Then
Do While i <> Cells(2, 4).Row
Application.ActiveSheet.Cells(1, 4).Select
Selection.End(xlDown).Select
i = Selection.Row
Selection.EntireRow.Insert
Loop
Else
End If
Application.ScreenUpdating = True
End Sub
******


"ptck" a écrit dans le message de
news:
Bonjour à tous

j'ai un fichier classé par nom dans la colonne D .
En VBA j'ai réussi à insérer une ligne au début du fichier et mettre un
nom

en gras aux colonnes (je débute ) et je voudrai insérer une ligne à
chaque

changement de nom dans la colonne D. La longueur du fichier peut changer .

merci d'avance




Avatar
AV
....je voudrai insérer une ligne à chaque
changement de nom dans la colonne D


L'utilisation (détournée) de la fonctionnalité Sous-Total convient très bien
pour ce genre de manip en évitant une boucle :

Sub zz_InsertRow()
Application.ScreenUpdating = False
[D:D].Subtotal GroupBy:=1, Function:=xlCount, TotalList:=Array(1)
With [D:D]
.SpecialCells(xlCellTypeConstants, 2).EntireRow.Clear
.Delete Shift:=xlToLeft
End With
Cells.ClearOutline
End Sub

AV

Avatar
ptck
Merci à Stephane lepage et AV sans vous dans 100 ans j'étais encore là
je vais de ce pas étudier vos deux macros.



ptck a écrit dans le message :

Bonjour à tous

j'ai un fichier classé par nom dans la colonne D .
En VBA j'ai réussi à insérer une ligne au début du fichier et mettre un
nom

en gras aux colonnes (je débute ) et je voudrai insérer une ligne à
chaque

changement de nom dans la colonne D. La longueur du fichier peut changer .

merci d'avance