Dim nblignes As Integer, arrivee As Long, i As Long, j As Integer nblignes = 10 ' <<<<<<<====== c'est ici, que tu dois définir le nombre de lignes d'écart que tu veux With Worksheets("Feuil1") ' <<<<<<==== remplace "Feuil1" par le nom de TA feuille à toi For i = .Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 If .Range("A" & i).Text Like "F#### ##" Then If arrivee <> 0 Then For j = 1 To nblignes + 1 - (arrivee - i) .Range("A" & arrivee).Insert Shift:=xlShiftDown Next End If arrivee = i End If Next End With
Do While Not (IsEmpty(ActiveCell)) If Left(Feuil1.Range("A1").Value, 2) 11 And Right(Feuil1.Range("A1").Value, 1) a Then nb = nb + 1 End If Selection.Offset.cell(1, 0).Select Loop
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPar contre les infos sont des répartitions séctorielles, monétaires ou géographiques, il peut y avoir de 2 à 30 lignes de détails, par exemple, à côté de A1, on peut avoir de info de B1 à I3 puis à côté de A5 des infos de B5 à I29 etc...
Dim nblignes As Integer, arrivee As Long, i As Long, j As Integer, deja As Boolean nblignes = 10 ' <<<<<<<====== c'est ici, que tu dois définir le nombre de lignes d'écart que tu veux With Worksheets("Feuil1") ' <<<<<<==== remplace "Feuil1" par le nom de TA feuille à toi For i = .Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 If .Range("A" & i).Text Like "F#### ##" Then If deja Then For j = 1 To nblignes + 1 - (arrivee - i) .Range("A" & arrivee).Insert Shift:=xlShiftDown Next arrivee = i Else arrivee = i deja = True End If End If Next End With
j'aurai une dernière demande: il faudrait que j'insère une ligne allant de la colonne A à K et pas seulement en A