Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 23/08/2004, 12h01   #1 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut inserer 1 ligne dans un tableau en conservant le formats de la ligne précédente

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!
 
ANNONCES
Vieux 23/08/2004, 12h13   #2 (permalink)
m.lecxe
Guest
 
Messages: n/a
Par défaut Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précédente

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











@+
 
Vieux 23/08/2004, 12h13   #3 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut 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...
 
Vieux 23/08/2004, 12h14   #4 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précéde

ah, post simultanné.. j'vais essayer tout ça... merci, j'vous tiens au courant
 
Vieux 23/08/2004, 12h22   #5 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut 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...
:'-(
 
Vieux 23/08/2004, 12h37   #6 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut 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...
 
Vieux 23/08/2004, 12h39   #7 (permalink)
lpp37
Guest
 
Messages: n/a
Par défaut Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précéde

oups, oubli de fichier
Fichiers attachés
Type de fichier : zip copierligne.zip (10,5 Ko, 7 affichages)
 
Vieux 23/08/2004, 13h23   #8 (permalink)
m.lecxe
Guest
 
Messages: n/a
Par défaut Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précédente

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
@+
 
Vieux 23/08/2004, 15h11   #9 (permalink)
lpp
Guest
 
Messages: n/a
Par défaut Re: inserer 1 ligne dans un tableau en conservant le formats de la ligne précédente

ok, c'est bon, en faisant 2-3 modifs pr s'adapter à mes variables, ça marche!

Mon fichier passe du coup de 3,5Mo à 500Ko !!!!!!

merci bcp!!!!!
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 06h04.


(C) 2006 Excel Downloads