[Résolu] Faire un code plus conforme(Aide)

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 !

Lone-wolf

XLDnaute Barbatruc
Bonsoir le Forum,

Dans le classeur Recherches, j'ai mis un module, qui vas chercher les information dans un autre classeur (Tableau, en locurrence). Dans celui-ci, j'ai fais une macro qui n'est pas vraiment correct.

En K1 il y a une liste avec des noms qui vas rechercher le nom de la personne dans le classeur Tableau. Faites 2 tirages pour voir le résultat. J'aimerais améliorer le code si possible, merci d'avance.



A+ 😎
 

Pièces jointes

Dernière édition:
Re : Faire un code plus conforme(Aide)

Re,
seulement pour l'affiche des dates tu peux ajouter un bout de code et ton code devient:

Code:
Sub GetAdoData()
'Application.ScreenUpdating = False
'Si vouz ne voulez pas copier les en-têtes, mettez les arguments à: True, False
   GetData ThisWorkbook.Path & "\Tableau.xls", "Data", _
"a2:i37", Sheets("Base").Range("a2"), True, False
   
Application.ScreenUpdating = False
With Feuil1
For Each cel In .Range("a2:a37")
If cel.Offset(, 0).Value <> Range("k1").Value Then cel.Offset(, 0).EntireRow.ClearContents
Next cel
For x = 37 To 2 Step -1
If .Cells(x, 1).Value = "" Then .Cells(x, 1).EntireRow.Delete
Next
.Range("d2:d40").NumberFormat = "DD/MM/YYYY" ' ligne de code ajoutée pour la présentation des dates
.Range("g2:g40").NumberFormat = "0.-"
.Range("i2:i40").NumberFormat = "0.-"
.Range("h2:h40").NumberFormat = "0%"

End With
End Sub
 
Re : Faire un code plus conforme(Aide)

Re kingfadhel,

merci pour la ligne ajoutée, je n'y ai pas pensé.

Si tu regarde bien la feuille au moment où tu change de personne, on vois s'afficher toute la liste et la suppression des lignes. J'aimerais bien éviter celà.


A+ 😎
 
Re : Faire un code plus conforme(Aide)

Bonjour

pour éviter cela ...

arrange toi pour mettre les lignes de code de ta macro GetAdoData() direcetement dans: Private Sub Worksheet_Chang(ByVal Target As Range)

ensuite il faut utiliser: Application.EnableEvents = False / true à la fin avec gestion d'erreur ( importante pour te remettre a true en cas de bug).

quelques modifications de réorganisation du code seront necessaires...
 
Dernière édition:
- 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

Retour