Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
941 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°2026655
aidevba
Posté le 04-10-2010 à 10:02:43  profilanswer
 

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.

mood
Publicité
Posté le 04-10-2010 à 10:02:43  profilanswer
 

n°2026679
olivthill
Posté le 04-10-2010 à 10:33:57  profilanswer
 

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
n°2026683
aidevba
Posté le 04-10-2010 à 10:44:19  profilanswer
 

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

n°2026685
aidevba
Posté le 04-10-2010 à 10:48:26  profilanswer
 

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.

n°2026688
olivthill
Posté le 04-10-2010 à 10:58:55  profilanswer
 

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
n°2026691
aidevba
Posté le 04-10-2010 à 11:08:56  profilanswer
 

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 ?

n°2026694
aidevba
Posté le 04-10-2010 à 11:22:32  profilanswer
 

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

n°2027470
SuppotDeSa​Tante
Aka dje69r
Posté le 07-10-2010 à 10:19:38  profilanswer
 

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


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

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
filtres sous scilabdemande d aide pour integration de javascript sur blog
passer une variable dans la clause where ... besoin d'aide[MySQL] Besoin d'aide pour optimiser une requête
copier un dossier qui contient un "é"Aide sur une REGEX C# svp
Besoin pour agrandir photo au passage de la souris[C++] Demande d'aide pour le portage de PSgroove sur STM8S
Plus de sujets relatifs à : Besoin d'aide pour un copier/coller sur filtres en vba


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR