Application.CutCopyMode = False

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

laurent999

XLDnaute Occasionnel
Bonjour,

Je voudrais pourvoir remplacer ceci:

Application.CutCopyMode = False

dans une macro

Afin que e résultat soit la copie des valeurs uniquement.

comment est-ce possible?

Merci.

Laurent
 
Re : Application.CutCopyMode = False

bonjour à vous

je pense que

Application.CutCopyMode = False

annule lemode copie (vide le presse papier)

pour le code de copie, utiliser l'enregistreur de macro (barre développeur sous 2007)
et faire un copier, collage spécial
 
Re : Application.CutCopyMode = False

Bonsoir à tous,

Si je comprends le fond de la question, voila 4 macros qui évitent d'employer Application.CutCopyMode = False après avoir copier/coller ou en VBA Copy/paste.

Elles consistent à reporter des valeurs d'une plage à une autre selon divers syntaxes. Ce n'est sûrement pas une liste exhaustive.

Sub Macro1()
Dim Tablo As Variant
With Sheets("Feuil1")
' Mise en tableau des valeurs
Tablo = .Range("A1:A20")
'Report des valeurs
.Range("F1:F" & UBound(Tablo, 1)) = Tablo
End With
End Sub
Sub Macro2()
Dim Tablo As Variant
With Sheets("Feuil1")
' Mise en tableau des valeurs
Tablo = .Range("A1:B20")
'Report des valeurs
.Range("F1").Resize(UBound(Tablo, 1), UBound(Tablo, 2)) = Tablo
End With
End Sub
Sub Macro3()
Dim Plage As Range
With Sheets("Feuil1")
' Mise des valeurs dans un objet
Set Plage = .Range("A1:A20")
'Report des valeurs
.Range("F1:F" & Plage.Count).Value = Plage.Value
End With
End Sub
Sub Macro4()
Dim Plage As Range
With Sheets("Feuil1")
'Report des valeurs
.Range("F1:G" & .Range("A65536").End(xlUp).Row).Value = .Range("A1:B20").Value
End With
End Sub
 
Dernière édition:
Re : Application.CutCopyMode = False

Bonsoir a tous,

Voici la macro dans laquelle je doit avoir un collage des valeurs.

Le problème c'est que je ne vois pas comment y intégrer vos formule

merci pour votre aide.

Sub test()
Application.ScreenUpdating = False
Sheets("BDD").Select
Range("Tableau1[]").Select
Selection.ClearContents
Application.DisplayAlerts = False
Sheets("BDD").Select
Dim Repertoire As String, FichS As String, FichD As Workbook
Repertoire = ThisWorkbook.Path & "\new\"
Set FichD = ActiveWorkbook
FichS = Dir(Repertoire & "*.xlsm")
Do While FichS <> ""
Derlign = ActiveSheet.Range("A20").End(xlUp).Row + 1
Workbooks.Open Repertoire & FichS
Sheets("BDD").Select
Sheets("BDD").Range("Tableau1[]").Copy FichD.Sheets("BDD").Range("A" & Derlign)
Application.CutCopyMode = False
Workbooks(FichS).Close
FichS = Dir
Loop
End Sub
 
Re : Application.CutCopyMode = False

Bonjour à tous,

essaye peut être en remplacant :
Code:
Sheets("BDD").Select
Sheets("BDD").Range("Tableau1[]").Copy FichD.Sheets("BDD").Range("A" & Derlign)
Application.CutCopyMode = False
par :
Code:
Sheets("BDD").Range("Tableau1[]").Copy
FichD.Sheets("BDD").Range("A" & Derlign).PasteSpecial xlPasteValues

Non testé... A noter les "select" sont rarement utiles en vba, et par convention les variables sont déclarées en début de procédure, cela facilite la lecture du code...

bonne journée
@+
 
Re : Application.CutCopyMode = False

pierrot j'ai le même genre de requete,

Sub Bouton3_Clic()
ligneDate = Application.Match(CLng([A3]), Sheets("Data").[A:A], 0)
Cells(3, 2).Resize(1, 12).Copy Sheets("Data").Cells(ligneDate, 2)
Application.CutCopyMode = False
End Sub

je voudrais faire le copier, collage special valeur mais je n'y arrive pas avec pastespecial
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
597
  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
198
Réponses
10
Affichages
791
Réponses
10
Affichages
384
Retour