Scinder les noms d'une colonne en 2

Amilo

XLDnaute Accro
Bonsoir le Forum,

J'aurais une demande assez compliquée à mettre en oeuvre (en tout cas pour moi) et je ne sais pas par quel bout commencer, j'ai pensé réaliser ceci en 2 étapes :

- 1ère étape : Je pensais dans un 1er temps scinder, les clubs de foot (de l'onglet "Résultat") se trouvant dans une seule colonne en A, en 2 colonnes distinctes, ici en B et C (j'ai tenté cette étape dans l'onglet "Mes formules" mais sans succès)

- 2ème étape : je souhaitais corriger l'orthographe de ces clubs selon l'orthographe exacte de la liste se trouvant dans un autre onglet (ici l'onglet "Classement")

Il existe pas mal de cas particuliers dans l'orthographe (quelques-uns en couleurs), je ne sais pas si la 2ème étape est possible avec des formules....!!!

Mais j'ai absolument aucune idée des formules à utiliser...surtout que je bloque déjà dans la 1ère étape,

Merci d'avance pour votre aide

Cordialement
 

Pièces jointes

  • Extraire.xls
    31 KB · Affichages: 125
  • Extraire.xls
    31 KB · Affichages: 129
  • Extraire.xls
    31 KB · Affichages: 132

fhoest

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Bonsoir,
alors pour séparer des noms ou autres tu suis ceci:
1° sélectionner ta zone ici A1:A18
2° Donnée-convertir
3° option délimité - suivant
4° Séparateur autres "-"
5° destination b1:b18 et choix du format texte par defaut
6°terminer
et le tour est jouer
pour le reste je regarde si j'ai une solution.
A+:D
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Bonsoir Fhoest,

Merci pour cette 1ère étape,

j'utilise quelquefois cette méthode qui marche trés bien, mais je ne savais pas du tout qu'on pouvait scinder une colonne sur une autre destination,

c'est désormais acquis, je suis content de cette info et c'est tout bon pour ma 1ère étape

Merci à vous

Cordialement
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Bonsoir david84,

Super ces formules, simples et efficaces, faut que je les retienne....

Décidément je cherche à faire trop compliqué,

Merci pour votre aide,

Une 1ère étape de résolue..

Bonne continuation,
 

haonv

XLDnaute Occasionnel
Re : Scinder les noms d'une colonne en 2

Bonjour à tous ,

Il me semble que les espaces risquent de fausser les résultats pour le correcteur d'orthographe, ou pour toute recherche ultérieure.
Avec la méthode de conversion des données ,la plus simple, il est vrai Fhoest,on ne peut les supprimer,me semble-t-il.
Par formules ,en reprenant celles de David, et en ajoutant "supprespace" :
=SUPPRESPACE(GAUCHE(A1;TROUVE("-";A1)-2))
et
=SUPPRESPACE(STXT(A1;TROUVE("-";A1)+1;99))
devraient supprimer tous les espaces indésirables.

Bon dimanche à tous
Amicalement
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Bonjour Haonv, le forum,

L'option "Données\Convertir" garde effectivement les espaces et pose en effet problème dans mon cas pour l'utilisation d'une formule de type "Recherchev"

Mais je suis content d'avoir appris qu'il est possible de scinder une colonne dans une autre destination (merci encore à fhoest).

Concernant, les formules à David84, j'avais déjà utilisé les "Supprespace" dans mon fichier de l'onglet "Mes formules" avec mes propres formules compliquées...

Je me dois également de les utiliser avec celles à David84, c'était déjà fait...

Tout est prêt pour passer à la 2ème étape d'un niveau beacoup plus complexe, avec des formules en particulier...!!

Merci à vous

Bonne journée.
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Re,

Pour ma 2ème étape, j'ai un début de formule qui fonctionne que pour une seule correction d'orthographe en utilisant "Substitue", celle-ci n'autorisant que le remplacement d'un seul mot.

=RECHERCHEV(SUPPRESPACE(SUBSTITUE(C3;"Arminia Bielefeld";"Bielefeld"));Classement!Plage;2;FAUX)

Existe-t-il une fonction qui permet le remplacement automatique de plusieurs séries de mots ??? (sans passer pas "l'options de correction automatique" d'Excel)

Merci d'avance

Cordialement
 
Dernière édition:

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Sinon par VBA,

j'ai récupéré un code réalisé par Hulk dans un précédent fil du même genre,

Je l'ai adapté à ce fichier, ça fonctionne mais je souhaitais remplacer les noms dans la colonne D au lieu dans la colonne B,

Private Sub Remplacer()

Dim x As Range
For Each x In Range("B2:B" & Range("B65536").End(xlUp).Row)
If x.Value = "Arminia Bielefeld " Then x.Value = "Bielefeld"
If x.Value = "VVV Venlo " Then x.Value = "VVV"

Next x

End Sub



Idem, pour C vers E,

Je souhaitais en fait remplacer à la fois les noms particuliers de B et C vers D et E....

J'ai pensé à ceci mais ça ne fonctionne pas :

Private Sub Remplacer()

Dim x As Range
Dim y As Range
For Each x In Range("B2:B" & Range("B65536").End(xlUp).Row)
For Each y In Range("C2:C" & Range("C65536").End(xlUp).Row)
If x.Value = "Arminia Bielefeld " Then x.Value = "Bielefeld"
If y.Value = "Oberhausen " Then x.Value = "RW Oberhausen"
If x.Value = "VVV Venlo " Then x.Value = "VVV"

Next x
Next y

End Sub


Merci d'avance pour votre soutien

Cordialement
 

Pièces jointes

  • Extraire.xls
    46 KB · Affichages: 75
  • Extraire.xls
    46 KB · Affichages: 88
  • Extraire.xls
    46 KB · Affichages: 86

ballmaster

XLDnaute Occasionnel
Re : Scinder les noms d'une colonne en 2

Bjr,

Tout d'abord concernant ton code, je préfère pour ma part l'ecrire de cette maniere :

Code:
Private Sub Remplacer()

Dim x As Range
Dim y As Range

For Each x In Range("B2:B" & Range("B65536").End(xlUp).Row)
If x.Value = "Arminia Bielefeld " Then x.Value = "Bielefeld"
If x.Value = "VVV Venlo " Then x.Value = "VVV"
Next x

For Each y In Range("C2:C" & Range("C65536").End(xlUp).Row)
If y.Value = "Oberhausen " Then x.Value = "RW Oberhausen"
Next y

End Sub


Ensuite ce code ne te permets que modifier certains nom dans tes colonnes b et c.

Si tu veux récupérer dans les colonnes d et e les valeurs respectivement de b et c, pourquoi ne pas faire simplement ceci :

en D1 tu inscris =B1 et tu étires vers le bas
en E1 tu inscris =C1 et tu étires vers le bas

Tiens nous au courant
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Bonjour Ballmaster,

Merci pour votre proposition, j'ai simplement corrigé une ptite une erreur ici en rouge : x par y (oups une erreur venant de moi, ce qui explique pourquoi ça ne fonctionnait)

Et c'est bien mieux présenter et compréhensible dans votre code,
l'idéale serait que la modification se fasse dans D et E,

For Each y In Range("C2:C" & Range("C65536").End(xlUp).Row)
If y.Value = "Oberhausen " Then x.Value = "RW Oberhausen"
Next y


Pour répondre à votre question, je ne souhaite pas justement reprendre 1 pour 1 les valeurs de B et C dans D et E car certains clubs de B et C ont une orthographe différente avec l'orthographe de l'onglet "Classement" (envi 20% des clubs)

De plus, je souhaite déjà garder toutes mes formules de B et C

L'orthographe exacte devant apparaître en D et E se trouve dans l'onglet "Classement") ou également présenté en J pour une meilleure clarté de mon problème.

Merci encore

Cordialement
 
Dernière édition:

fhoest

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Salut,
pour ma part je ne vois pas tellement une correction d'orthographe mais plutot une comparaison de mot dans une database par rapport a des cellules contenant ces mots,
je ne comprend pas ou cela va te mener d'exécuter un code qui te corrigera c es mots il sera sans doute plus long a chercher la méthode et faire le code que de corriger tes cellules une par une (a moins que j'ai loupé quelque chose)
A+ (explique plus si toute fois je n'ai pas compris)
 

ballmaster

XLDnaute Occasionnel
Re : Scinder les noms d'une colonne en 2

Re,

Essaie ceci

Code:
Sub Remplacer()

    Dim x As Range

    For Each x In Range("B2:B" & Range("B65536").End(xlUp).Row)

        If x.Value = "Arminia Bielefeld  " Then x.Offset(0, 2).Value = "Bielefeld"
        If x.Value = "VVV Venlo  " Then x.Offset(0, 2).Value = "VVV"
                
    Next x
    
End Sub

Pour ce bout de code, j'ai rajouté offset.
Ainsi si tu as Arminia Bielfield dans ta colonne B, il va aller t'inscrire Bielfeld en colonne D

Cela te convient-il ??
 

fhoest

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

creer un tableau qui contient ta bonne orthographe et parcours se tableau en mettant un comparateur de valeur en utilisant la fonction like tu pourra alors par la fonction entrer ta valeur souhaiter si tu la trouver dans ton tableau
A+
 

Amilo

XLDnaute Accro
Re : Scinder les noms d'une colonne en 2

Merci Ballmaster,

C'est exactement ça,

J'ai compris le code, et à moi d'intégrer la varibale "y" pour la colonne de C vers E,

Mille mercis à vous,

Bonjour fhoest,

pour répondre à votre question, les différences d'orthographe ne se résument pas seulement à ces 2 clubs que j'ai mis provisoirement dans le code à titre d'exemple, il y en a d'autres,

de plus, je souhaite rajouter d'autres championnats avec le même problème.

Donc ce code sera complété par tous les autres clubs qui posent une différence d'orthographe.

Par ailleurs, ne connaissant peu VBA, j'ai utilisé cette méthode que j'ai récupérée pour résoudre mon problème.

Peut-être qu'il y a une méthode plus simple et plus sûr pour ne pas rien oublier...comme par exemple une comparaison avec la liste de l'onglet "Classement", mais personnellement je ne sais pas faire...

J'espère avoir répondu à votre interrogation.

Cordialement
 

Discussions similaires

Réponses
12
Affichages
392

Statistiques des forums

Discussions
312 485
Messages
2 088 812
Membres
103 971
dernier inscrit
abdazee