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 !

vijou

XLDnaute Nouveau
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

Discussions similaires

Réponses
8
Affichages
238
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
556
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
338
Réponses
8
Affichages
490
Réponses
10
Affichages
306
Réponses
4
Affichages
488
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
826
Retour