bonjour a tous,
d'habitude je trouve la solution sur le site sans problème mais cet fois malgré que je pense que cela est simple je coince.
je souhaiterais insérer la ligne 1 quand la cellule est égal a 1 dans la colonne 1
et si possible dans toute les feuilles
pas d'importance pour moi, se qui m'interresse c'est une macro qui dise si dans colonne a cellule egal 1 alors insérer ligne 1, je dit ligne 1 parce qui m'interresse s'est remettre les titre.
maintenant si il y a une routine pour refaire cela a chaque onglet c'est bien, sinon je ferais la macro pour chaque onglet.
j'espere que c'est compréhensible
Difficile de vous comprendre mais essayez cette macro :
Code:
Option Explicit
Sub InsererLigne()
Dim i As Integer
Dim j As Integer
For j = 1 To 3
Sheets(j).Activate
For i = 1 To 2
If Cells(i, 1) = 1 Then ' choisi le chiffre 1 dans la colonne A
Rows(i).Insert Shift:=xlDown
Rows(i).Interior.ColorIndex = xlNone
End If
Next i
Next j
End Sub
Ma version :
Pour toute les feuilles du classeur, si la cellule en colonne A est égale à 1 (sauf $A$2) ajout de l'entête présent sur la ligne 1 de la feuille concernée.
Attention à ne pas lancer deux fois la procédure....
VB:
Sub En_Tetes()
Dim I&, F As Worksheet
For Each F In Worksheets
For I = F.Cells(F.Rows.Count, 1).End(3).Row To 3 Step -1
If F.Cells(I, 1) = 1 Then
F.Rows(1).Copy
F.Rows(I).Insert Shift:=xlDown
End If
Next I
Next F
End Sub
rebonjour a vous deux
merci beaucoup pour vos réponse, pour ma première question sur le site j'ai ma solution en moins d'un jour.
c'est la solution de doublezero qui fonctionne parfaitement suivant mes attentes.
je vais essayer de comprendre maintenant, se sera plus dur mais le fait que cela fonctionne sur toute les feuilles m' intéresse beaucoup si je peux insérer d'autre fonction que la copie de l’entête.
encore merci