inserer 1 ligne dans un tableau en conservant le formats de la ligne précédente

  • Initiateur de la discussion Initiateur de la discussion lpp37
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lpp37

Guest
bonjour tous,

je me permets de vous posez cette question, à priori basique, mais les solutions proposées ds les différents fils que j'ai consultés ne marchent pas...

mon soucis du jour:

j'ai une première feuille avec des données tjrs classées pareillement, et un bouton.
j'ai également une seconde feuille avec un tableau avec des formats conditionnels et des formules dans certaines cases.
quand j'appuie sur le bouton de la première feuille, les données s'y trouvant sont ajoutées à la dernière ligne du tableau de la seconde feuille.
jusqu'ici, rien de compliqué...

le hic, c'est que je suis obligé de pré-remplir les lignes avec les formats conditionnels et les formules, il n'y a que les valeurs qui sont envoyées d'une feuille à l'autre. du coup, ça alourdi pas mal mon fichier.

ce que je voudrais c'est que qd j'appuie sur le bouton, après la recherche de la dernière ligne vide du tableau, j'insère une ligne ayant les mêmes propriétés que la précédente.

et là patatra, ça marche pas!
j'ai beau essayer les "range(i,j).insert shift:=xldown", "entirerow.insert", etc... ça marche pas! ça me renvoit tjrs le même mesage d'erreur: "insert method of range class failed"

alors si vous aviez une idée, chuis preneur... merci!
 
Bonjour
J'ai une petite macro qui recopie les formule, le format conditionnel sur une ligne en dessous de la selection, tu peux peut être l'adapter à ton classeur.

Sub NouvelleLigneEnDessous()
Dim i As Integer
Dim j As Integer
Dim NumLig As Integer
Dim DerCol As Integer
Dim tbl As Range
Dim Z As Range
Dim plage As Range
Application.ScreenUpdating = False
Set tbl = [A1].CurrentRegion
Set plage = Application.Union(Range(Selection.Address), Range(tbl.Offset(3, 0).Resize(tbl.Rows.Count - 5, tbl.Columns.Count).Address))
If plage.Address <> tbl.Offset(3, 0).Resize(tbl.Rows.Count - 5, tbl.Columns.Count).Address Then MsgBox "Placez-vous dans la zone " & tbl.Offset(3, 0).Resize(tbl.Rows.Count - 5, tbl.Columns.Count).Address: Exit Sub
For j = 1 To Selection.Rows.Count
ActiveCell.Range("A2").EntireRow.Insert
NumLig = ActiveCell.Row
DerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(NumLig, 1), Cells(NumLig, DerCol)).Copy Range(Cells(NumLig + 1, 1), Cells(NumLig + 1, DerCol))
For i = 1 To DerCol
If Not Cells(NumLig + 1, i).HasFormula Then
Cells(NumLig + 1, i).ClearContents
End If
Next i
Next j
ActiveCell.Range("A2").Select
Application.ScreenUpdating = True
End Sub











@+
 
Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précéde

apparemment, et je dis bien "apparemment", le pb viendrais du fait que tout se passe depuis la feuille n°1... on peut pas selectionner des lignes ou coller des lignes à distance? c'est louche...
 
Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précéde

nan, j'obtiens tjrs le même problème... "insert method of range class failed"; ça veut pas mouliner à distance de la feuille 1 sur la feuille 2...
:'-(
 
Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précéde

voici un ptit fichier joint pour que vous compreniez bien la différence entre 2 cas pourant presque identiques... histoire d'alimenter votre reflexion...
 
en faisant
Private Sub CommandButton1_Click()
'on effectue l'opération dans la 1ère feuille
Un
End Sub

Private Sub CommandButton2_Click()
'on effectue l'opération dans la 2de feuille
Deux
End Sub
------- Dans un module
Sub Un()
Rows(5).Copy Rows(6)
End Sub
Sub Deux()
Rows(5).Copy Sheets("Sheet2").Rows(6)
End Sub
ça fonctionne mais je travaille sur Mac
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
956
Retour