Modification formules feuille source lors d'un copier/coller
hulnh
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
hulnh Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
hulnh Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un léger soucis avec ce code :
La macro effectue bien la copie de la feuille "Calcul" dans la feuille "Liste", et le tri a l'air de fonctionner en cas de références identiques. Le problème est que la ligne que je souhaite copier comporte des formules, et celles-ci disparaissent de la feuille "Calcul" lors de l'exécution de la macro. Je pense que c'est lié au "Selection.PasteSpecial" que j'ai ajouté pour pouvoir uniquement des valeurs dans la feuille "Liste" mais je ne suis pas suffisamment calé pour fixer ce problème...
Merci d'avance de votre aide !
J'ai un léger soucis avec ce code :
Sub Copie_liste()
Dim Ligne As Long
Dim Ligne2 As Long
Application.ScreenUpdating = False
Ligne = 19
Ligne2 = Sheets("Liste").Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1
lg = Sheets("Liste").Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
For n = 1 To Ligne2
If Sheets("Liste").Range("A" & n) = Sheets("Calcul").Range("A" & Ligne) Then
lg = n
End If
Next n
Sheets("Calcul").Select
Range("A" & Ligne & ":" & "AG" & Ligne).Select
Selection.Copy
Selection.PasteSpecial xlValues, xlNone, False, False
Sheets("Liste").Select
Range("A" & lg).Select
ActiveSheet.Paste
Application.ScreenUpdating = True
End Sub
La macro effectue bien la copie de la feuille "Calcul" dans la feuille "Liste", et le tri a l'air de fonctionner en cas de références identiques. Le problème est que la ligne que je souhaite copier comporte des formules, et celles-ci disparaissent de la feuille "Calcul" lors de l'exécution de la macro. Je pense que c'est lié au "Selection.PasteSpecial" que j'ai ajouté pour pouvoir uniquement des valeurs dans la feuille "Liste" mais je ne suis pas suffisamment calé pour fixer ce problème...
Merci d'avance de votre aide !
A voir également:
- Modification formules feuille source lors d'un copier/coller
- Retrouver un copier-coller android - Guide
- Suivi de modification word - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Style d'écriture a copier coller - Guide
5 réponses
Bonjour
Essaies de remplacer
par
Cdlmnt
Essaies de remplacer
Sheets("Calcul").Select
Range("A" & Ligne & ":" & "AG" & Ligne).Select
Selection.CopySelection.PasteSpecial xlValues, xlNone, False, False Sheets("Liste").Select
Range("A" & lg).SelectActiveSheet.Paste
par
Sheets("Calcul").Range("A" & Ligne & ":" & "AG" & Ligne).Copy Sheets("Liste").Range("A" & lg)
Cdlmnt
Il n'y a pas deux lignes une seule (tout est sur la même ligne)
Sheets("Liste").Range("A" & lg)
est la cible de la copie
Cdlmnt
Sheets("Liste").Range("A" & lg)
est la cible de la copie
Cdlmnt
Sur deux lignes cette fois
Sheets("Calcul").Range("A" & Ligne & ":" & "AG" & Ligne).Copy
Sheets("Liste").Range("A" & lg).PasteSpecial Paste:=xlPasteValues
Cdlmnt
Sheets("Calcul").Range("A" & Ligne & ":" & "AG" & Ligne).Copy
Sheets("Liste").Range("A" & lg).PasteSpecial Paste:=xlPasteValues
Cdlmnt
La commande fonctionne bien, je pensais pas pouvoir la réduire autant. Cependant je souhaiterai que les cellules copiées en "Calcul", qui contiennent des formules, soient converties en valeurs dans "Liste". Par exemple :
Copie à faire dans "Calcul" : 1 1 0 0 ( Ce sont des formules NB.SI() )
Collage réalisé dans "Liste" : #REF! #REF! #REF! #REF!
Et j'aimerai récupérer dans "Liste" les valeurs copiées, sans formules : 1 1 0 0
J'espère être compréhensible, c'est beaucoup plus clair dans ma tête que par écrit...
Copie à faire dans "Calcul" : 1 1 0 0 ( Ce sont des formules NB.SI() )
Collage réalisé dans "Liste" : #REF! #REF! #REF! #REF!
Et j'aimerai récupérer dans "Liste" les valeurs copiées, sans formules : 1 1 0 0
J'espère être compréhensible, c'est beaucoup plus clair dans ma tête que par écrit...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai une erreur sur la deuxième ligne :
Sheets("Liste").Range ("A" & lg)
Un espace s'ajoute après le "Range" et un message apparaît en débogage : Erreur d'exécution '438' : Propriété ou méthode non gérée par cet objet.
De plus, c'est peut être une question de débutant mais : comment se fait le Paste avec cette commande ?