Problème de synthaxe VBA

  • Initiateur de la discussion Initiateur de la discussion Rafilo13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Rafilo13

XLDnaute Junior
Bonjour,

Je suis nouveau sur le forum et aussi en VBA et j'ai un petit problème dans la rédaction de mon code.

Voici le code que j'ai ecris :

Sub Cherche()

Sheets("Photo").Select
Application.ScreenUpdating = False
'Filtrage sur client sélectionné
Sheets("Clients").Select
Selection.AutoFilter Field:=14, Criteria1:=Sheets("Acceuil").Range("C4")

'Supression des données eventuelles
Sheets("Acceuil").Select
Range("C17").Select
Selection.CurrentRegion.Select
Selection.Clear

'Coller données précédentes
Sheets("Clients").Select
Range("AW3").Select
Selection.CurrentRegion.Select
Selection.Copy

'...

End Sub


Arriver a l'étape " ' Coller données précèdentes" on me signale une erreur 400, si j'ai bien compris parceque je nomme un feuille deja ouverte 😕

Mais je ne vois pas comment y remédier, car si je ne nomme pas la feuille la selection se fait sur la feuille "Acceuil" et non le feuille "Clients" ...

Merci de par avance pour vos lumières

Bonne journée a tous.
 
Re : Problème de synthaxe VBA

Bonjour Rafilo13,
Avec juste un bout de code pas facile de voir...
Essai comme ça:
VB:
'Coller données précédentes
Sheets("Clients").Activate
Sheets("Clients").Range("AW3").Select

Mais tu parles de "Coller les données" et tu utilise "Selection.Copy" ??

Cordialement
 
Re : Problème de synthaxe VBA

Bonjour Rafilo13 🙂,
Logiquement, ce serait plutôt ça
Code:
Application.ScreenUpdating = False
'Filtrage sur client sélectionné
Sheets("Clients").AutoFilter Field:=14, Criteria1:=Sheets("Acceuil").Range("C4")
'Supression des données eventuelles
Sheets("Acceuil").Range("C17").CurrentRegion.Clear
'Coller données précédentes
Sheets("Clients").Range("AW3").CurrentRegion.Copy Sheets("Acceuil").Range("C17")
Par contre, avec ton filtre, AW3 n'est pas masquée 🙄 ?
Bon courage 😎
 
Re : Problème de synthaxe VBA

Bonjour Rafilo, bonjour le forum,

Je t'avoue que je ne comprends pas pourquoi tu as cette erreur 400.
L'aide VBA explique :

Vous ne pouvez pas utiliser la méthode Show pour afficher une feuille en tant que feuille modale si elle est déjà visible. La cause de cette erreur et la solution pour la corriger sont les suivantes :
  • Vous avez essayé d'appliquer à une feuille déjà visible la méthode Show avec l'argument style égal à 1 (vbModal). Utilisez l'instruction Unload ou la méthode Hide sur la feuille avant d'essayer de l'afficher en tant que feuille modale.
Mais dans ton cas il s'agit d'onglet et pas d'UserForm...

Je te recommande d'éviter tout ce qui est Select car ça ralentit considérablement l'exécution du code.
Ci-dessous ton code modifié. Plus d'erreur 400 et beaucoup plus rapide pour le même résultat :
Code:
Sub Cherche()
Application.ScreenUpdating = False
 
'Filtrage sur client sélectionné
Sheets("Clients").Range("A1").AutoFilter Field:=14, Criteria1:=Sheets("Acceuil").Range("C4")
 
'Supression des données eventuelles
Sheets("Acceuil").Range("C17").CurrentRegion.Clear
 
'Coller données précédentes
Sheets("Clients").Range("AW3").CurrentRegion.Copy
'...
 
Application.ScreenUpdating = True
End Sub

Sinon il me semble que Accueil conviendrait mieux que Acceuil...
 
Re : Problème de synthaxe VBA

Bonjour Robert,

Je ne suis pas encore habitué a tout le vocabulaire Vba, mais il est vrai que suivant mes tentatives j'ai eu des erreurs 400 ou 1004, mais impossible pour moi de comprendre la différence.

Pour les "select" je les utilisent parceque je n'arrive pas encore a enchainer directement les etapes mais j'èspère y arriver rapidement 🙂
Donc pour l'instant ma synthaxe est l'aborieuse lol

Merci pour ces remarques et bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

A
Réponses
12
Affichages
2 K
AnjyD
A
Z
Réponses
5
Affichages
2 K
Zimzim
Z
L
Réponses
6
Affichages
1 K
Lhomheureux
L
S
Réponses
4
Affichages
2 K
stage_ferrit
S
S
Réponses
1
Affichages
1 K
SCorbeil
S
A
Réponses
4
Affichages
1 K
E
Réponses
0
Affichages
2 K
EnnaEnna
E
R
Réponses
7
Affichages
2 K
J
Réponses
1
Affichages
1 K
R
Réponses
2
Affichages
8 K
R
Retour