Copier/coller plusieurs fois ne fonctionne plus
iadi0615
-
iadi06 Messages postés 21 Statut Membre -
iadi06 Messages postés 21 Statut Membre -
Bonjour,
depuis quelques temps, je ne peux plus utiliser le copier/coller à plusieurs reprises. En effet, lorsque je sélectionne une case, il ne met possible que de la coller une seule fois. Puis je dois une nouvelle fois la sélectionner et opérer un copier/coller.
J'ai déjà vérifié mes options avancées, la case "copier, couper coller" est bien cochée.
Autre fait qui peut être déterminant, j'ai codé des macros en worksheet change sur n'importe quelle cellule de la feuille. Plus précisément, si une case (l, c) est modifiée et que le contenu est égale à PEIN ; alors la case (l, c+1) prendra la couleur rouge brique.
Est-ce que cela peut expliquer pourquoi mon copier/coller ne fonctionne pas ? Si oui, comment puis-je y remédier afin de garder mon worksheet change et le copier/coller x fois?
Merci pour votre aide.
depuis quelques temps, je ne peux plus utiliser le copier/coller à plusieurs reprises. En effet, lorsque je sélectionne une case, il ne met possible que de la coller une seule fois. Puis je dois une nouvelle fois la sélectionner et opérer un copier/coller.
J'ai déjà vérifié mes options avancées, la case "copier, couper coller" est bien cochée.
Autre fait qui peut être déterminant, j'ai codé des macros en worksheet change sur n'importe quelle cellule de la feuille. Plus précisément, si une case (l, c) est modifiée et que le contenu est égale à PEIN ; alors la case (l, c+1) prendra la couleur rouge brique.
Est-ce que cela peut expliquer pourquoi mon copier/coller ne fonctionne pas ? Si oui, comment puis-je y remédier afin de garder mon worksheet change et le copier/coller x fois?
Merci pour votre aide.
A voir également:
- Copier/coller plusieurs fois ne fonctionne plus
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
- Symbole clavier copier coller - Guide
2 réponses
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour, je pense déterminant de montrer le code de tes macros.
Bonjour,
Il me semble bien qu'il te faut fermer le copier/coller entre chaque itération ...
K
Il me semble bien qu'il te faut fermer le copier/coller entre chaque itération ...
rngSeqHor.Offset(2, 0).Resize(rngSeqHor.Rows.Count - 2, rngSeqHor.Columns.Count).Copy
wshPCDF.Cells(intLigne, intColumn + 1).PasteSpecial
Application.CutCopyMode = False ' Cette ligne doit être présente dans le cycle
K
Private Sub worksheet_change(ByVal target As Range) Dim wshHor As Worksheet Dim wshPCDF As Worksheet Dim wshVert As Worksheet Dim rngFindSeq As Range Dim strSeq As String Dim intNbSeq As Integer Dim rngCellSeq As Range Dim rngSeqHor As Range Dim intLigne As Integer Dim intColumn As Integer Dim I As Integer 'Permet d'optimiser la vitesse du code '________________________________________________________ Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False On Error GoTo Erreurs 'Déclaration des feuilles '_________________________________ Set wshVert = Worksheets("SeqVert") Set wshHor = Worksheets("SeqHor") Set wshPCDF = Worksheets("PCDF Séq.") 'Déclaration des variables '_________________________________ intNbSeq = wshVert.Range("bytNbSeq").Value If target.Value <> "" Then For I = 0 To intNbSeq - 1 If target.Value = wshVert.Cells(5 + I, 3).Value Then intLigne = target.Row intColumn = target.Column 'Définition des noms de séquence + recherche de la séquence dans SeqHor strSeq = target.Value 'Déclaration Range de recherche Set rngFindSeq = wshHor.Range("A1", "A65356") 'Recherche de la séquence Set rngCellSeq = rngFindSeq.Find(what:=strSeq, LookAt:=xlWhole, MatchCase:=False) Set rngSeqHor = rngCellSeq.CurrentRegion rngSeqHor.Offset(2, 0).Resize(rngSeqHor.Rows.Count - 2, rngSeqHor.Columns.Count).Copy wshPCDF.Cells(intLigne, intColumn + 1).PasteSpecial End If Next I End If 'Réinitialise Excel '________________________________________________________ Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Exit Sub '******************************************************** 'ERROR HANDLING '******************************************************** Erreurs: If Err <> 0 Then Application.EnableEvents = True Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True End if End SubVoici le code en question :
Option Explicit Option Compare Text Private Sub worksheet_change(ByVal target As Range) Dim wshVert As Worksheet Dim intLigne As Integer Dim intColumn As Integer 'Dim wsh As Worksheet 'Permet d'optimiser la vitesse du code '________________________________________________________ Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.DisplayAlerts = False Set wshVert = Worksheets("SeqVert") 'Code '-------------------------------------------------------------- On Error GoTo Erreurs Select Case target.Value Case "SS" intLigne = target.Row intColumn = target.Column Cells(intLigne, intColumn + 1).Interior.Color = RGB(0, 255, 0) Case "SER" intLigne = target.Row intColumn = target.Column Cells(intLigne, intColumn + 1).Interior.Color = RGB(217, 225, 242) Case "PEIN" intLigne = target.Row intColumn = target.Column Cells(intLigne, intColumn + 1).Interior.Color = RGB(192, 0, 0) End Select 'Réinitialise Excel '________________________________________________________ Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.DisplayAlerts = True Exit Sub '******************************************************** 'ERROR HANDLING '******************************************************** Erreurs: If Err <> 0 Then Application.EnableEvents = True End Sub