Comparer feuille de classeurs différents

Christ -  
 Christ -
Bonjour,

Je dois pouvoir identifier des cellules dans une feuille à partir de données/cellules dans une feuille d'un autre classeur.

C'est pour identifier des noms présents dans la feuille de l'autre classeur. Une particularité, c'est qu'il est probable que les noms soient similaire mais non identique. C'est à dire que dans une feuille le nom sera écrit « Bélanger » et dans l'autre feuille sera « Belanger ».

Des idées de solutions possibles ?

Merci pour le coup de main ! Je débute en c'est p-e pas avec le cas le plus facile :-)

A voir également:

4 réponses

Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Bonjour Christ.

"Je dois pouvoir identifier des cellules dans une feuille"
Explique : qu'est-ce que tu entends par "identifier" ?
Car ce n'est pas un terme utilisé dans les tableurs.

* Il est très difficile de rapprocher deux mots qui n'ont pas la même orthographe.
* Il est très compliqué de travailler sur des données placées dans des classeurs différents, surtout s'ils ne sont pas tous ouverts simultanément.
* Mais les deux ensemble, je n'essaierais même pas ...

Et comme tu le dis si bien "Je débute en c'est p-e pas avec le cas le plus facile" !
0
Christ
 
Bonjour Raymond,

Pour le problème lié à l'utilisation de plus d'un classeur, je pourrai simplement m'assurer que les deux feuilles sont dans le même classeur. Ou encore mettre seulement les cellules à utiliser sur une même feuille. Ça c'est pas difficile :-)

Pour le rapprochement de mots non identique. Existe-t-il une fonction ou une série d'expression régulière pour normaliser le contenu texte de cellule. Soit une fonction qui remplacerait les majuscule par des minuscule (ou l'inverse), les caractères accentués par ceux sans accent... Il suffirait de rouler cette fonction, nous obtiendrons ainsi des mots ayant la même orthographe.

Bref, j'ai trouvé ceci en cherchant un peu :

Function Maj_Sans_Accent(Ori As String) As String
Dim Compteur As Integer, Compteur2 As Integer
Dim Tab_Car_Accent, Tab_Car, Chaine_Test As String
Tab_Car_Accent = Array("á", "à", "â", "ä", "ã", "å", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "ö", "õ", "ð", "ú", "ù", "û", "ü", "ÿ", "ý", "ç")
Tab_Car = Array("a", "a", "a", "a", "a", "a", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "o", "u", "u", "u", "u", "y", "y", "c")
For Compteur = 1 To Len(Ori)
If Asc(Mid$(Ori, Compteur, 1)) > 223 Then
Chaine_Test = Mid$(Ori, Compteur, 1)
For Compteur2 = LBound(Tab_Car) To UBound(Tab_Car)
If Chaine_Test = Tab_Car_Accent(Compteur2) Then Chaine_Test = Tab_Car(Compteur2): Exit For
Next Compteur2
Ori = Left(Ori, Compteur - 1) & Chaine_Test & Right(Ori, Len(Ori) - Compteur)
End If
Next Compteur
Maj_Sans_Accent = UCase(Ori)
End Function


Donc après il ne me resterait qu'à identifier les mots des cellules identiques.

Merci pour le coup de main.
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
Tu as donc considérablement simplifié le problème, si tu n'as plus qu'un seul classeur, dans lequel tu vas nommer les différentes plages concernées.

La plupart des fonctions de recherche (INDEX, EQUIV, DECALER, RECHERCHEV, RECHERCHEH, CHOISIR, CHERCHE ...) sont insensibles à la casse, c'est-à-dire se moquent des majuscules/minuscules ; par contre la fonction TROUVE y est sensible.

Concernant la macro je ne peux faire aucun commentaire, ne pratiquant pas VBA.

Cordialement.
0
Raymond PENTIER Messages postés 71870 Date d'inscription   Statut Contributeur Dernière intervention   17 402
 
0
Christ
 
Merci Raymond pour ce lien et l'info.
0
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Soit une fonction qui remplacerait les majuscule par des minuscule (ou l'inverse)

Tu as les 2 MAJUSCULE qui met toute la cellule en majuscule et MINUSCULE qui fait l'inverse.

Pour les accents, sans passer par macro, tu peux aussi utiliser remplacer (ctrl+h) qui peux te remplacer tous les accents en peu de temps.
0
Christ
 
Bonjour gbinforme,

Merci. C'est actuellement ce que nous faisons (manipulation des données manuellement) et comme c'est un tâche quotidienne ça demande bcp de temps. C'est la raison pour laquelle je recherche une fonction / macro qui pourra nous aider à moins perdre de temps :-)

Je vais regarder du côté de VBA.
0