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:=FalseJ'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 SubSi 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).ValueCdlt.
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).ValueMais 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 = TrueDonc 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