Copier ligne avec formule sans les donnees

Fermé
yanchs - 27 janv. 2008 à 21:22
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 - 28 janv. 2008 à 23:19
Bonjour,

je suis sous excel,

J'ai la premiere feuil qui contient simplement une ligne de 10 colonnes, certaines cellules comporte des formules de calcul ou de recherche et je rempli de reste des cellules avec mes données.

Je souhaiterai pouvoir à l'aide d'un bouton ou autre?, dupliquer en dessous de la derniere ligne en cours la premire ligne avec les fomules et si possible sans les données.

deuxième probleme,

pour chaque ligne saisie, je crée une nouvelle feuille dans laquelle des données de la ligne sont copiées. 5 ligne ==> 5 feuilles

10 lignes ==> 10 feuilles etc...

je pense que ceci n'est pas très dur pour vous mais pour moi ca l'est et c'est très urgent!!

merci d'avance.
A voir également:

13 réponses

@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
27 janv. 2008 à 22:34
peux tu indiquer quelles sont les cellules de la 1ere ligne avec formules?
quelles ont les cellules qui sont TOUJOURS remplies
le reste est facile
@+
0
puis je te joindre mon fichier excel
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
27 janv. 2008 à 22:42
N° îlot Nom parcelle SAU = SPE surface interdite à l'épandage Type de sols Cultures en Précedent Epandage Surface Date d'épandage prévisionnelle Fourniture en Dose d'azote Objectif de Besoin en CAU Dose d'azote Date
place de matière d'épandage azote du sol apportée par rendement azote de la culture à apporter d'Epandage
organique (U/ha) les lisiers ou en qx (U/q) (U/ha) Prévisionnelle
boues d'épuration
#REF! #N/A #REF!

j'ai la collne l,p,q,r qui sont en formule le rete je rempli, r est la derniere colonne de la feuille
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
27 janv. 2008 à 22:58
tu est la ????

je compte sur toit stp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

peux-tu insérer ton fichier ou la partie concernée

@+
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
28 janv. 2008 à 00:18
voila le fruit de mes cogitations
je n'ai pas gere si la feuille existe ou pas (j ai un peu sommeil) je cree donc une feuille d'office si les nb de feuilles est inferieur a au nombre de lignes.
je me pencherai + tard sur ce pb

Sub Macro1()
Dim i As Integer, num As Integer, x as integer
i = InStr(2, ActiveCell.Address, "$")
num = Val(Mid(ActiveCell.Address, i + 1))
If Range("A" & num + 1).Value = "" Then
Range("L" & num + 1).Value = Range("L" & num).Value
Range("P" & num + 1).Value = Range("P" & num).Value
Range("Q" & num + 1).Value = Range("Q" & num).Value
Range("R" & num + 1).Value = Range("R" & num).Value
Rows("1:1").Select
Selection.Copy
If x < num Then
Sheets.Add
End If
Sheets("Feuil" & (num)).Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil" & (num)).Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End If
End Sub

il ne te reste plus qu'a associer cette macro a un bouton ou une image ;o)
la seule obligation, avant de lancer cette macro, il te faut etre sur une cellule de la derniere ligne saisie (celle a transferer en fait)
@+ pour la suite
car je pense qu'on peut tester la derniere cellule de A remplie; je viens juste d'y penser

DODO ;o)
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
28 janv. 2008 à 09:24
slt, tu peux ajouter si tu veux eviter de te positionner sur la derniere ligne avant de lancer ta macro (mais je n'en vois pas trop l avantage car avec ce que je t ai ecrit, tu as l avantage de pouvoir ressaisir une feuille existante)
Sub Macro1()
Dim num As Integer, x as integer

num = 1
do while range("A" & (num+1)).value<>""
num=num+1
loop

'tu retrouves le num défini par l extraction du string ActiveCell
Range("L" & num + 1).Value = Range("L" & num).Value
Range("P" & num + 1).Value = Range("P" & num).Value
Range("Q" & num + 1).Value = Range("Q" & num).Value
Range("R" & num + 1).Value = Range("R" & num).Value
Rows("1:1").Select
Selection.Copy
x=sheets.count'j avais oublié ca desole
If x < num Then
Sheets.Add
End If
Sheets("Feuil" & (num)).Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Rows("2:2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil" & (num)).Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

End Sub

voila, désolé pour l oubli du x=sheets.count j espere que tu n as pas trop galéré a cause de ca
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
28 janv. 2008 à 13:05
merci le seul petit soucis de ta formule c'est que ca copie les cellule en L P Q R, cela copie le resultat de la cellule mais pas la formule qui est dans la cellule.

sais tu ensuite creer une feuille en même temps que la ligne en sachant que la feuille existe en feuil2 et que les cellule ACPR se copie dans la feuille2.

si je poursuit en fait la feuil2 prend ces données en ligne 1
la feuil3 prendra ces données sur la ligne 2 et ainsi de suite.

merci d'avance
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
28 janv. 2008 à 13:08
de plus la macro marche pour la première ligne, elle ajoute bien une 2 ligne et si j'appui de nouveau il copie toujours sur la deuxième ligne et n'incremente pas en 3, 4 et n ligne.

j'espere etre a peut pret claire

merci
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
28 janv. 2008 à 15:06
Range("L" & num).select
selection.copy
Range("L" & num + 1).select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("P" & num ).select
selection.copy
Range("P" & num+ 1).select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("Q" & num ).select
selection.copy
Range("Q" & num+ 1).select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Range("R" & num).select
selection.copy
Range("R" & num + 1).select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

<gras>A LA PLACE DE

Range("P" & num + 1).Value = Range("P" & num).Value
Range("Q" & num + 1).Value = Range("Q" & num).Value
Range("R" & num + 1).Value = Range("R" & num).Value


CA RECOPIERA LES FORMULES


x=sheets.count'j avais oublié ca desole
If x < num Then
Sheets.Add
End If
ca c est pour ne creer que les feuilles necessaires Feuil1,2,3 etant créées par defaut, je ne cree une feuille qu'a partir de la ligne 4 d ou la fonction sheets.count

Rows("1:1").Select
Selection.Copy
je copie les entetes de colonnes

Sheets("Feuil" & (num)).Select
Range("A1").Select
ActiveSheet.Paste

je les colle

Sheets("Feuil1").Select
Rows("num & ": " & num).Select ' la je m etais planté il etait 0h00 :o)
Application.CutCopyMode = False
Selection.Copy
Sheets("Feuil" & (num)).Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
28 janv. 2008 à 21:20
comment je peux te lier ma feuille pour te montrer ce que j'ai deja construis parce que la je prends ton exemple ca me supprime bien mes donnée mes les formules ne sont pas copiée, à la place j'ai des 0.

et si j'appui plusieurs fois sur le bouton ca ne me mets qu la ligne deux et cela ne m'est pas de 3,4 etc...
0
yanchs Messages postés 12 Date d'inscription dimanche 27 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008 5
28 janv. 2008 à 22:21
je pourrai tres bien faire un copier coller a la main pour creer les lignes. dans ce cs serait il possible une fois mon tableau fini, de lancer un macro qui compterai le nombre de ligne en sachant que la premiere ligne demarre à la ligne 11 et creer autant de nouvelle feuil qui sera une copie de ma feuille 2 en sachant que je veux recupere 5 cellule de la ligne pour les coller dans 5 cellule des feuilles. la feuille modele esten feuil2. la première feuille est nommée Calcul.

peux tu me dire comment te joindre mon fichier je ne sais pas comment faire
0
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 6
28 janv. 2008 à 23:19
si tu as des formules a 0, c est sans doute parce que les calculs sont lances sur des cellules vides. il faut voir ce que ca donne quand tu entres des donnees.
en principe la macro devrait bien fonctionner avec 1 bemol : tu viens de m apprendre que Feuil1 s appelle Calcul. tu devras donc remplacer Feuil1 par Calcul
j y ai inclus la derniere ligne remplie en colonne A pour eviter de te positionner, les feuilles sont generees si il y a moins de feuille que de ligne en Calcul. C est vrai que j aurai pu en profiter pour la renommer et assurer le coup.

je te propose de m envoyer le tableau a guy.chazeau@orange.fr, je te fais le code et te le rends avec un bouton :o)
@+
0