Besoin d'aide pour un copier/coller sur filtres en vba - VB/VBA/VBS - Programmation
Marsh Posté le 04-10-2010 à 10:33:57
Peut-être que le programme aurait du mal à trouver la feuille active.
Donc, essayer en remplaçant ActiveSheet.Paste par Sheets("inter" ).Paste .
Ou alors, rendre la feuille "inter" active en remplaçant Sheets("inter" ).Select par Sheets("inter" ).Activate .
Marsh Posté le 04-10-2010 à 10:44:19
Je regarde ça tout de suite. Merci beaucoup pour la réponse
Marsh Posté le 04-10-2010 à 10:48:26
Non le problème reste le même il beug sur la ligne avec le .paste mais copie quand meme dans la feuille inter ce qui a été selectionné dans la feuille data. Je ne comprend pas ce qui ne va pas.
Marsh Posté le 04-10-2010 à 10:58:55
C'est peut-être le cas indiqué par Microsoft dans http://support.microsoft.com/kb/905164/fr . Voir les solutions proposées.
Ou bien, puisque la copie se fait bien, on peut tout simplement éviter l'affichage du message d'erreur en mettant au début : On Error Resume Next
Marsh Posté le 04-10-2010 à 11:08:56
olivthill a écrit : C'est peut-être le cas indiqué par Microsoft dans http://support.microsoft.com/kb/905164/fr . Voir les solutions proposées. |
Je veux bien appliquer ce code mais c'est bien la première fois que l'on m'en parle. Je dois le placer avant la ligne qui beug ?
Marsh Posté le 04-10-2010 à 11:22:32
J'ai mis le code pour effacer la message d'erreur et tout fonctionne. Je ne cache pas que ce message d'erreur reste un vrai mystère pour moi. J'ai déjà appliqué le même code mais sur un autre fichier Excel et tout fonctionnait très bien. Je me demande si le problème proviendrait pas de mes feuilles Excel qui n'ont pas le même format...
Je vous remercie beaucoup de l'attention que vous avez porté à mon problème!!!!
Marsh Posté le 07-10-2010 à 10:19:38
Tu n'aurais pas des cellules fusionnées par hasard ?
Marsh Posté le 04-10-2010 à 10:02:43
Bonjour,
Alors voilà j'ai un petit souci avec mon application sur excel et cela fait quelque jours que je peine à trouver une solution.
J'ai deux feuilles une première nommée "data" et une seconde nommée "inter". Je selectionne la feuille data, je selectionne toute les données de ma feuille "data" avec une petite boucle puis j'applique mon filtre sur deux colonnes : la 28 et la 29. Ensuite je copie puis selectionne la feuille "inter" pour y coller le résultat de mon filtre sur la feuille "data". Tout le code est dans un bouton. Les variables var1 et var2 sont des données saisies dans une zone de liste modifiable.
Le probleme est que Excel ne veut pas passer la ligne Activesheet.paste il me dit que la methode paste à échoué. J'ai vérifier mon code ma feuille n'est pas protéger, j'ai coché la case "Faire confiance au projet VBA". Le pire est que il me met l'erreur d'execution "erreur 1004" mais il me colle quant meme les données sur la feuille "inter".
Voici mon code :
Private Sub valid_Click()
'déclaration des variables
'variable pour la saisie pour historique
Dim var2 As String
Dim var3 As String
'Variables pour le filtre pour la saisie pour l'historique
Dim k As Integer
'initialisation des variables
k = 1
If feuille2.typedef = "" Or feuille2.piece = "" Then
MsgBox ("Il faut faire une selection" )
Else
var2 = feuille2.typedef
var3 = feuille2.piece
Sheets("data" ).Select
Do
k = k + 1
Loop Until Cells(k, 26) = ""
Range("A1:AF" & k).Select
Selection.AutoFilter
Selection.AutoFilter Field:=28, Criteria1:=var2
Selection.AutoFilter Field:=29, Criteria1:=var3
Application.CutCopyMode = False
Selection.Copy
Sheets("inter" ).Select
Range("A1" ).Select
ActiveSheet.Paste
Sheets("data" ).Select
Selection.AutoFilter
end if
End Sub
Quelqu'un a une petite idée et pourrais m'aider??
Merci d'avance.