Besoin d'avis sur un code VBA

  • Initiateur de la discussion Initiateur de la discussion vijou
  • 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 !

V

vijou

Guest
Bonjour à tous,
Grâce à l'aide des membres de ce forum, j' ai réussi à faire un code qui fait à peu près ce que je veux: allez chercher la communauté de commune correspondant à la ville. Malheureusement, celui ci ne marche pas quand on colle une liste de ville. (voir le fichier joint).

Pour palliez à ce problème, j' ai tenté de modifier le code , le problème étant qu'il fait irrémédiablement planté excel ! (le code ne s'exécutant que jusqu'à la dernière cellule remplie, je pense que ce n'est pas trop lourd...)
Des idées ?

Private Sub Worksheet_Change(ByVal Target As Range)

For Each Cell In Sheets("feuil2").Range("A2:A" & [A65536].End(xlUp).Row)

a$ = "ÀÁÂÃÄÅÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝàáâãäåèéêëìíîïðñòóôõöùúûüýÿ-"
b$ = "AAAAAAEEEEIIIINOOOOOUUUUYaaaaaaeeeeiiiionooooouuuuyy "

Chaine = Cell
For i% = 1 To Len(Chaine)
u% = InStr(1, a, Mid(Chaine, i, 1), 0)
If u Then Mid(Chaine, i, 1) = Mid(b, u, 1)
Next i


Dim c As Range
With Sheets("feuil1")
Set c = .[i2:i10000].Find(What:=Chaine, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Cell.Offset(, 3) = c.Offset(, -5) Else Cell.Offset(, 3) = "inconnue"
End With


Next Cell

End Sub



Merci de votre aide !
 

Pièces jointes

Re : Besoin d'avis sur un code VBA

Bonjour.
Veillez à éviter que la modification d'une cellule n'entraine la ré-exécution de la Worksheet_Change: ça peut aboutir à une saturation de la pile d'appel des sous-programmes, voire un abandon silencieux d'Excel. Pour cela mettez devant :
VB:
Application.EnableEvents = False
et remettez le à True après.
Cordialement.
 
Re : Besoin d'avis sur un code VBA

Re

Salut Robert
Salut Dranreb

Parceque la fonction Sans_accents intervient en Feuil1 dans la colonne I , laquelle colonne est sollicitée par ta macro qui n'y trouve qu'un REF pas facile à exploiter !!!
 
Re : Besoin d'avis sur un code VBA

Merci Dranreb !
Ça marche parfaitement maintenant !
En effet l’instruction worksheet_change() déclenchait le programme à chaque modif d'une cellule, y compris les siennes: j'avais donc une jolie boucle qui saturait tout. L'instruction Application.EnableEvents = False permet de bloquer la réexecution à l'intérieur du programme. Merci !

Cordialement
 
Re : Besoin d'avis sur un code VBA

Bonjour,

allez chercher la communauté de commune correspondant à la ville. Malheureusement, celui ci ne marche pas quand on colle une liste de ville. (voir le fichier joint).

Tu fais quoi exactement et sur quelle feuille et tu veux quoi comme résultat et sur quelle feuille ?
A suivre
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
775
Réponses
5
Affichages
906
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
729
Retour