Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 
A

andré

Guest
Merci STéphane, mais je venais de faire la même constatation, tout en ne sachant pas comment la corriger.
Si tu n'existais pas, on devrait t'inventer, et te présenter au concours Lépinne.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…