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
@¿@ Messages postés 48 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 23 mai 2009 - 28 janv. 2008 à 23:19
A voir également:
- Copier ligne avec formule sans les donnees
- Formule excel - Guide
- Formule si et - Guide
- Copier une vidéo youtube - Guide
- Aller à la ligne excel - Guide
- Hors ligne instagram - Guide
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
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
@+
quelles ont les cellules qui sont TOUJOURS remplies
le reste est facile
@+
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
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
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
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
27 janv. 2008 à 22:58
tu est la ????
je compte sur toit stp
je compte sur toit stp
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@¿@
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
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)
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)
@¿@
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
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
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
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
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
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
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
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
j'espere etre a peut pret claire
merci
@¿@
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
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
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
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
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...
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...
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
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
peux tu me dire comment te joindre mon fichier je ne sais pas comment faire
@¿@
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
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)
@+
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)
@+