Besoin d'aide pour un copier/coller sur filtres en vba

Besoin d'aide pour un copier/coller sur filtres en vba - VB/VBA/VBS - Programmation

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.

Reply

Marsh Posté le 04-10-2010 à 10:02:43   

Reply

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 .


Message édité par olivthill le 04-10-2010 à 10:39:58
Reply

Marsh Posté le 04-10-2010 à 10:44:19    

Je regarde ça tout de suite. Merci beaucoup pour la réponse

Reply

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.

Reply

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

Message cité 1 fois
Message édité par olivthill le 04-10-2010 à 11:03:18
Reply

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.
 
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


 
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 ?

Reply

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!!!!

Reply

Marsh Posté le 07-10-2010 à 10:19:38    

Tu n'aurais pas des cellules fusionnées par hasard ?


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed