Erreur Pastespecial

Bonjour a tous,

J'ai crée il y a 2 semaines une Macro qui fonctionnait parfaitement (oui il y a surement des améliorations a faire).

Et depuis vendredi plantage de la macro avec un message d'erreur sur la ligne:

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

J'ai vu que ce problème arrive a d'autres personnes mais je n'ai pas trouvé de solution. J'ai 2 versions d'excel a ma disposition 2010 et 2016.

Sub MacroA()
'Limitation du ralenti de la macro
Application.ScreenUpdating = False

' Protection mot de passe
Dim mdp As String
MsgBox "INTEGRATION DES VENTES DU LUNDI ", vbOKOnly + vbExclamation, "CODE D'ACCES"
mdp = InputBox("Saisir votre mot de passe pour intégrer les ventes ", "Saisie du mot de passe")
If mdp <> "raz" Then
  MsgBox "MOT DE PASSE ERRONE"
Exit Sub
Else
If Range("A11") <> "Réf" Then
  MsgBox "Veuillez intégrer les ventes"
Exit Sub
Else
End If
End If

' Selection de la destination des valeurs a rechercher, recherche du nombre de lignes pour étirer la formule
    Sheets("Programme Cdt Jour").Select
    Range("EO23").Select
    Range("EO23:EO" & [A65536].End(xlUp).Row).FormulaR1C1 = "= IFERROR(VLOOKUP(RC[-144],VENTES!R1C1:R699C8,3,0),0)"
' Transformation des formules en valeurs
   Range("EO23:EO2000").Select
   Selection.Copy
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

 ' Remplissage couleur jaune pour valider le jour comme remplis
    Range("EO22").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

 'Suppression valeurs importées
    Sheets("VENTES").Select
    Columns("A:I").Select
    Selection.ClearContents
     With Selection.Interior
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Sheets("Programme Cdt Jour").Select
    Range("EO23").Select
Application.ScreenUpdating = True
End Sub

Si quelqu'un a une idée ça m'arrangerait énormément.

Merci d'avance

Bonjour

as tu des cellules justifiées dans la zone traitée ?

remets la sélection entre le Copy et le pastespécial

Sinon sans le fichier difficile de te répondre

FINDRH

Bonjour,

Essaie simplement cette proposition :

' Transformation des formules en valeurs
    Range("EO23:EO" & [A65536].End(xlUp).Row).Value = Range("EO23:EO" & [A65536].End(xlUp).Row).Value

Cdlt.

Bonjour,

Désolé pour ne répondre aussi tardivement a vos propositions.

Le code suivant proposé ne plante plus la macro et elle s'exécute jusqu'au bout.

Range("EO23:EO" & [A65536].End(xlUp).Row).Value = Range("EO23:EO" & [A65536].End(xlUp).Row).Value

Mais et oui il y a un mais... il y a une erreur car les valeurs qui sont transposées ne sont pas bonnes....

J'avais eu un soucis similaire et j'avais résolu le soucis en créant un autre macro. En faite je récupère de notre ERP, les ventes qui sont mise sous un fichier excel en format CSV. Comme les valeurs des ventes sont en format texte je les transforme en valeurs.

Suite a cela je veux intégrer ces fameuses ventes dans mon fichier excel. Sauf que 1 seule macro ne fonctionnait pas (j'avais des erreurs de valeurs importés) mais tout tournait bien au final en scindant en 2 macros.

Sub MacroIntegration()

'Limitation du ralenti de la macro
Application.ScreenUpdating = False

' Contrôle de l'ouverture du classeur contenant les données à récupérer
' si fermé demande de l'ouvrir et fin sinon suite
  On Error Resume Next
  Windows("VENTES DE LA VEILLE.csv").Activate
  If Err <> 0 Then
  MsgBox "Ouvrir le classeur Ventes de la veille"
  Exit Sub

   Else
   MsgBox "Récupération des ventes de la veille"
    Windows("VENTES DE LA VEILLE.csv").Activate
    Columns("A:I").Select
    Selection.Copy
    Windows("JOURNALIER modifié.xlsm").Activate
    Columns("A:I").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    End If
 ' Transformation des valeurs en format texte en format valeur
   Columns(1).TextToColumns Destination:=Range("A1")

Application.ScreenUpdating = True

Donc je reste coinçé...

FINDRH a écrit :

Bonjour

as tu des cellules justifiées dans la zone traitée ?

remets la sélection entre le Copy et le pastespécial

Sinon sans le fichier difficile de te répondre

FINDRH

==> Cellule Justifiée: Je ne pense pas !

==> Selection en copy et pastespecial ne fonctionne pas

==> Ci joint les fichiers alléger, j'ai gardé juste ce que j'ai besoin

Bonjour

je pense que c'est un pb de nom de classeur dans Windows activate....

j'ai récupéré le nom du classeur dans une variable vfich et sélectionné la feuille ventes après le copy et ça :marche alors qu'avant cela ne fonctionnait pas....... voir annotation marquées ici et procédure ci dessous

Sub MacroIntegration()

'Limitation du ralenti de la macro

Application.ScreenUpdating = False

' Contrôle de l'ouverture du classeur contenant les données à récupérer

' si fermé demande de l'ouvrir et fin sinon suite

On Error Resume Next

vfich = ActiveWorkbook.Name ' Ici

Windows("VENTES DE LA VEILLE.csv").Activate

If Err <> 0 Then

MsgBox "Ouvrir le classeur Ventes de la veille"

Exit Sub

Else

MsgBox "Récupération des ventes de la veille"

Windows("VENTES DE LA VEILLE.csv").Activate

Columns("A:I").Select

Selection.Copy

Windows(vfich).Activate

Sheets("VENTES").Select ' ICI

Columns("A:I").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

End If

' Transformation des valeurs en format texte en format valeur

Columns(1).TextToColumns Destination:=Range("A1")

Application.ScreenUpdating = True

End Sub

Est ce bon ?

Cordialement

FINDRH

Bonjour,

La Macro nommée intégration fonctionne sans soucis. Donc je ne vais pas la modifiée.

Une fois cette macro lancée je lance la macro A = intégration des ventes

Cette Macro A doit récupérer les valeurs des ventes du fichier Ventes de la veille et les mettre dans la colonne correspondante en face du bon code article.

La Macro A fonctionnait et depuis 15 jours le pastespecial ne fonctionne plus sans que j'ai touché au code....

Si quelqu'un a une idée

bonjour

dans la feuille Ventes Réf n'est plus en 11 mais en A9

ci joint modif, ça marche

idem pour macro B à première vue

If Range("A9") <> "Réf" Then ' les données debutent en a10 , Ref n'est pas en a11 mais A9

MsgBox "Veuillez intégrer les ventes"

Exit Sub

Else

End If

Cordialement

FINDRH

Salut,

Oui parfois en intégrant les ventes j'ai eu le cas que le texte Ref soit en A9

Sauf que sur mon fichier j'ai belle et bien Réf en A11

Et ma marco ne plante pas a ce niveau mais belle et bien sur la fonction pastespecial.

J'ai vu que ce soucis se posait à d'autres personnes mais pas trouvé de réponses.

Bonsoir

ta macro marche avec le bon référencement avec le fichier que tu m'as transmis en remplaçant A11 par A9..... Démarrer par A9 ou A11 ne revient peut être pas au même pour l’exécution de ta macro...

C'est bien au niveau du copier puis coller qu'il y a une incompatibilité; cela m'est déjà arrivé à cause d'une zone justifiée, voire d'une seule cellule justifiée dans une zone de copier coller....

Cordialement

FINDRH

Salut,

J'ai réouvert le fichier et supprimé les valeurs déjà existante. J'ai aussi effacer des filtres qui étaient en place dans la zone du copier coller et miracle ça fonctionne....

Je ne comprends pas pourquoi mais bon tant que ça remarche!!!

Merci du coup de pouce

Rechercher des sujets similaires à "erreur pastespecial"