VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

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

Bens7

XLDnaute Impliqué
Bonjour a tous !!
J'ai un fichier qui contient une feuil: ACTIF, un autre COMMUNE
j'aimerais que effectuter une recherche de chaque ville et d'y inscrire le canton qui corespond ...
je vous met un fichier en pieces jointes c'est plus clair

essayer le BOUTON 1 ca marche mais je sais pas comment lui dire de continuer jusqu'au bout

Merci !!!
 

Pièces jointes

Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Bonsoir à tous les 2,

Voici ma macro dans ton fichier, lorsque tu changes une donnée dans la colonne I, la macro se lance et recalcule automatiquement la colonne J.

Je n'ai pas suivi le travail de Laetitia, mais c'est une experte en la matière. Mais j'ai l'impression que c'est se compliquer la vie que de passer par des tableaux pour arriver au bon résultat.

A+

Martial
 

Pièces jointes

Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Je vais essayer mais avant peut tu me separer les fonctions que je puissent reutiliser les codes
On est bien d'accord les fontions sont:

'Suprime les espaces au debut et Fin des Cellules dans I
'Suprime les saut de Ligne dans I
'Cherche le canton dans la Feuil commune et les met dans J
'Affiche un "?" si ya pas
La fin du Tableau c la Fin de I

Merci !
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Yaloo chui desole mais je comprend pas comment s'active le Macro ;
j'ai besoin qu'il s'active avec un evenenement bouton
Worksheet_Change en l'ocurence si je comprend bien c'est quand je tape le texte le probleme c'est que je le tape pas je colle la collonne de plus l'evenement Bouton et primordial pour moi ....
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

re


en corrigeant un peu sans tout passer par des "tablos" vu quand colonne i tu as que 78 cell remplie
QUOTE]

Laetitia Bonjour alors j;ai tester le code Nickel le seull soucci c'est que le fichier varie du nombre de ligne, defois 78 defois 22 defois 160 .... donc je doit mettre manuellement un maximum genre 1000 ya pas moyen de lui dire :
Allo non mais Allo!! le tableau s'arette a la Fin de la collonne I ... ? lolll
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Bonjour,

j;ai tester le code Nickel le seull soucci c'est que le fichier varie du nombre de ligne, defois 78 defois 22 defois 160 .... donc je doit mettre manuellement un maximum genre 1000 ya pas moyen de lui dire :
Allo non mais Allo!! le tableau s'arette a la Fin de la collonne I ... ? lolll

je t'ai donné un code hier qui fait cela très bien non....
https://www.excel-downloads.com/threads/vba-stop-macro-fin-de-tableau.208054/

bon après midi
@+

Edition : bonjour Laetitia🙂
 
Dernière édition:
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Bah non jdit n'importe koi ca marche ya pas de limitation de ligne ...
bon bah TOP !!!! Leitiia
Merci aussi Martial ! ne tinkiete pas j;ai un nouveaux post qui arrive rien que pour toi mon premier Userform tout seul avec mon code tout seul (un drame le code !! lolll) A+
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Oui Pierrot c'est vrai et je t'en remrcie on avais rajouter 2 fonctions suprimer les ligne debut et fin de cellule et suprimer les saut de ligne .... c'est surtout la reherche que je savais pas comment faire ...
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

re, salut pierrrot🙂

une version plus simplifier

Code:
Sub CANTON()
 Dim t2, t1, a As Long, b As Long, c As Range
  Application.ScreenUpdating = 0
  Feuil1.Range("j2:j" & Feuil1.Cells(Rows.Count, 9).End(xlUp).Row) = "?"
  t1 = Feuil1.Range("i2:j" & Feuil1.Cells(Rows.Count, 9).End(xlUp).Row)
  t2 = Feuil4.Range("a2:b" & Feuil4.Cells(Rows.Count, 1).End(xlUp).Row)
  For a = LBound(t1, 1) To UBound(t1, 1)
  t1(a, 1) = Replace(t1(a, 1), Chr(10), "")
  t1(a, 1) = Trim(t1(a, 1))
  For b = LBound(t2, 1) To UBound(t2, 1)
  If t1(a, 1) = t2(b, 1) Then t1(a, 2) = t2(b, 2)
  Next b: Next a
  Feuil1.Range("i2").Resize(UBound(t1, 1), UBound(t1, 2)) = t1
 End Sub

enfin de compte la solution de l'ami Yaloo peut être plus simple??
 
Re : VBA - cherche une valeur dans une autre Feuil et renvoie le resultat

Bonsoir à tous, bises Lætitia,

On peut aussi faire une version où seul le canton de la cellule modifiée est changé :

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 9 Then Exit Sub
  If IsError(Application.Match(Trim(Cells(Target.Row, 9)), Feuil4.Columns(1), 0)) Then
    Cells(Target.Row, 10) = "?"
  Else
    Cells(Target.Row, 10) = Feuil4.Cells(Application.Match(Trim(Cells(Target.Row, 9)), Feuil4.Columns(1), 0), 2)
  End If
End Sub

A+

Martial
 

Pièces jointes

- 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

P
Réponses
4
Affichages
1 K
philippe_chalon01
P
C
Réponses
6
Affichages
968
cedric_hiss
C
C
Réponses
0
Affichages
837
cedric_hiss
C
M
Réponses
2
Affichages
809
Misterbean
M
P
Réponses
1
Affichages
16 K
Retour