Collage spécial formules

  • Initiateur de la discussion andré
  • Date de début
A

andré

Guest
Question de débutant :
A1 : 2
B1 : 5
C1 : =A1*B1
En faisant un collage spécial formules de la ligne 1 dans la ligne 2, les valeurs 2 et 5 sont également copiées.
Comment ne coller que les formules de la ligne 1 dans la ligne 2 ?
 
S

STéphane

Guest
bonjour

sélectionne ta ligne
fais F5, choisit le bouton cellules, et coches le bouton formules
puis fais ton copier-coller

bye
stephane

ps : cela ne résoudra pas ton problème si tes valeurs sont indiquées avec le signe égal devant.
 
A

andré

Guest
Merci STéphane, mais j'ai encore un petit problème :
Après avoir cocher le bouton formules, je copie, puis je descends d'une ligne au moyen de la flèche et je colle.
Jusque là tout marche très bien.
Mais lorsqu'il y a deux formules sur la ligne 1, la deuxième formule ne se place pas au bon endroit.
En selectionnant la ligne 2 avant de coller, cela ne marche pas non plus.
Qu'ai-je fait que je ne pouvais pas faire, ou qu'ai-je ne pas fait que je devais faire ? (j'espère que tu m'as compris)
André.
 
S

STéphane

Guest
Manuellement pas de solution
Un début de solution par macro à copier dans un module, très légèrement adaptée d'une solution postée ici : <http://groups.google.fr/groups?hl=fr&lr=&ie=UTF-8&threadm=3A71BA45.D33D0CFE%40videotron.net&rnum=8&prev=/groups%3Fhl%3Dfr%26lr%3D%26ie%3DISO-8859-1%26q%3Dcopie%2Bformules%2Bcellule%2Bvide%26meta%3Dgroup%253Dmicrosoft.public.fr.excel>

NB : la première macro copie la PLAGE SELECTIONNEE, la seconde la colle sur la seconde ligne



Dim Plage As Range

Sub Copier()
Set Plage = ActiveWindow.RangeSelection
Plage.Copy
End Sub

Sub Coller()
Dim Forms
Application.ScreenUpdating = False
Forms = Plage.Formula
Plage = (Plage)
Plage.Copy
ActiveWindow.RangeSelection.PasteSpecial Paste:=xlPasteFormulas, SkipBlanks:=True
Plage.Formula = Forms

Plage.Copy Plage.Offset(1)

End Sub

bye
Stéphane
 
A

andré

Guest
Merci STéphane, mais je crois avoir trouver une solution plus simple :
Je fais un simple copier/coller de la ligne 1 dans la ligne 2.
Puis ton truc, la ligne 2 restant selectionnée : F5, cellules, constantes, OK, delete.
Il est parfois bon de prendre un problème à l'envers pour trouver sa solution.
Merci quand même de ton aide qui m'a mise sur la bonne voie.
 
A

andré

Guest
STéphane, à l'aide !
La macro ci-dessous me signale une erreur 1004 lorsque je copie une ligne copiée (de la ligne 1 à la ligne 2, ça marche, mais de la ligne 2 à la ligne 3 ça marche aussi, mais avec un message d'erreur dans la ligne contenant le nombre 23).
Pour d'autres lignes c'est la même chose.

Sneltoets: CTRL+p
'
ActiveCell.Offset(1, 0).Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown
ActiveCell.Offset(-1, 0).Rows("1:1").EntireRow.Select
Selection.Copy
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
End Sub

En connaîtrais-tu la raison ?

André
 
S

STéphane

Guest
tu opères une sélection de constantes de type texte sur une ligne qui n'en contient plus.

voilà un allègement de ta macro :

Sub ghg()
[A1].Activate
On Error GoTo gest
With ActiveCell
With .EntireRow
.Offset(1).Insert Shift:=xlDown
.Copy ActiveCell.Offset(1)
.Offset(1).SpecialCells(xlCellTypeConstants, 23).ClearContents
End With
End With
gest:
If Err Then MsgBox Err.Description

End Sub

bye
Stéphane
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p