Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Nulette en Excel
  • 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 !

N

Nulette en Excel

Guest
😡 Hello contrarié... Quelqu'un peut-il m'aider à résoudre le probléme suivant:
- Je dispose d'une base compléte de noms et prénoms dans un onglet (colonne A et B), lesquels ont un code alphanumérique (COLONNE c).
D'un autre côté j'ai une quantité de feuilles (onglets) Excel qui ont les noms et prénoms, et a qui je dois attribuer le code ! Pouvez vous m'aider à automatiser la chose.
Par ailleurs comment appliquer la fonction supprespace à tous le dossier d'un coup d'un seul ?
1000 mercis d'avance à ceux qui liront et 1001 bises à ceux qui m'aideront...
Nulette....
PS : ne me demandez pas de joindre le fichier, il dépasse les 50 ko et impossible de le réduire !!! GRRRRR !!!!😕
 
Re : Au secours

Re à tous
Re Nulette

Juste rapidement. J'ai testé, mais un peu rapidement.

Lancer d'abord le bouton "suppression" puis "copie des noms"

On supprime les espaces au début et à la fin des noms, prénoms et nationalités, et il y en a qu'1 seul devant et après. On ne peut pas les supprimer à l'intérieur car il y en a certains qui se nomment "DE VLAEMINCK" ou "VAN VLIERBERGHE".

Eric
 

Pièces jointes

Re : Au secours

Bonjour tout le monde,

Tu trouveras ci-joint le lien (sur mon site) vers ton fichier modifié :
Ce lien n'existe plus

Zut, je n'avais pas vu que pour télécharger le fichier il fallait s'inscrire sur mon site 😀 , désolé (pas pensé)

Voilà le lien sur cjoint : http://cjoint.com/?fiujQZ7nVB

La macro CopieNom permet de supprimer les espaces avant et après, ainsi
que la copie des noms sans doublon dans la feuille Athlètes

A+ 😉

Edit : Oups désolé Eric45 y'a eu collision ...
 
Dernière modification par un modérateur:
Re : Au secours

Bonsoir à tous

Pas de problème Bruno, en plus j'aime bien découvrir comment les autres forumeurs conçoivent leur programme, c'est enrichissant pour moi.

Nulette tu trouveras un nouveau petit fichier ci joint. J'ai repris les macros.

Le 1er bouton supprime les espaces
Le deuxieme copie
Le troisième trie et supprime les doublons sur le nom/prénom

Bien entendu on peut tout faire à la suite, sans intervention, en mettant dans une procédure le nom des 3 macros à la suite. J'ai préféré surveiller les 3 étapes, surtout avec les 90 onglets, peut être que cela va engorger.....

Dis nous

Eric
 

Pièces jointes

Re : Au secours

Salut Eric45,

Désolé, je n'ai pas pensé que pour accéder au fichier sur mon site, il fallait s'inscrire 😱 et je viens juste de m'en appercevoir.

J'ai donc mis également le fichier sur cjoint, voir mon précédent post

A+
 
Re : Au secours

Bonjour à Tous en Bonjour Bruno,
Merci bcp de ton aide et temps. J'ai récupéré ton fichier sur CJOINT et cela semble parfaitement marcher. Peux-tu m'expliquer comment importer tes (ou ta) macro sur mon fichier générique... et dois-je changer quelque chose dans la macro... Désolé, mais je ne ma suis pas donné mon "pseudo" par hasard.
Mille mercis et bises. Nulette....
PS : Avec Eric cela bug. Je lui fais un post...
 
Re : Au secours

Good Morning Eric and Everybody,
Ben ça marche pas. L'éxécution bloque. J'ai mis sur CJOINT la copie écran, car je ne peux l'uploader sur ce site!!!
http://cjoint.com/?fjkndp7Vtx

Désolée, peut-être suis-je fautive ?
A plus et toujours merci pour ton temps et gentillesse.
Nulette.
 
Re : Au secours

Bonjour à tous
Bonjour Nulette

Je viens de vérifier : 1 bug à mon compte (dsl), 1 bug dans les tableaux

Bug à mon compte : je n'avais pas vu que sur une feuille, il y avait un "total" après une cellulevide, donc il faut modifier cette ligne de code :

nombrecellule = Range("a65536").End(xlup).Row
en
nombrecellule = Range("a1").End(xlDown).Row

Bug dans les tableaux : dès qu'il manque un renseignement dans une cellule : nom, prénom ou nation, la macro plante.

Je te redonne la macro entière modifiée :

Code:
Sub caractere() 'supprime le caractère "espace" devant et après les noms, prénoms et nationalités
                ' balaie les 3 colonnes D, E et F de toutes les feuilles
Dim a, i As Integer
Dim caractere As String
Dim chaine As String
Dim nombrecelule As Integer

caractere = " "

For Each feuille In Worksheets
    If feuille.Name <> "Athlètes" Then
    feuille.Select
Range("a2").Select
[B][COLOR=Red] nombrecellule = Range("a1").End(xlDown).Row[/COLOR][/B]
nomdefeuille = feuille.Name
    For a = 3 To 5
      For i = 0 To nombrecellule - 2
        [B][COLOR=Red]If ActiveCell.Offset(i, a) <> "" Then[/COLOR][/B]
        chaine = ActiveCell.Offset(i, a)
        If Mid(chaine, 1, 1) = caractere Then ActiveCell.Offset(i, a) = Mid(chaine, 2, Len(chaine))
        chaine = ActiveCell.Offset(i, a)
        If Mid(chaine, Len(chaine), 1) = caractere Then ActiveCell.Offset(i, a) = Mid(chaine, 1, Len(chaine) - 1)
        [B][COLOR=Red]End If[/COLOR][/B]
      Next i
    Next a

End If
Next feuille
End Sub

Attention, dans le fichier que j'avais joint, j'avais remarqué que sur une ligne, dans 2 cellules, il y avait "#VALEUR#" et que j'ai modifié : dans Milan San Remo ligne 202

Eric
 
Re : Au secours

Hello Again tous et toutes,
Cher Eric, j'ai beau essayer dans tous les sens, ca bug à donf... Peut-être est-ce mon fichier original qui pose pb ??? J'en doute, mais...
Peux tu avoir la gentillesse d'y jeter un "neuille". Sur CJOINT :
http://cjoint.com/?fjmDQPagtw
Tu as là le fichier intégral.
Merci d'avance...
 
Re : Au secours

bonjour Nullette

Salut a tous

j'ais testé la macro suivante sur ton fichier

Code:
Sub test()
Dim colP As Integer
Dim colN As Integer
Dim colNat As Integer
Dim athletes As Collection
Set athletes = New Collection
For n = 1 To Sheets.Count
If Sheets(n).Name <> "Athlètes" Then
 For x = 1 To Sheets(n).Range("IV1").End(xlToLeft).Column
  If Sheets(n).Cells(1, x) = "Prénom" Then colP = x
  If Sheets(n).Cells(1, x) = "Nom" Then colN = x
  If Sheets(n).Cells(1, x) = "Code nationalité" Then colNat = x
 Next x
For m = 2 To Sheets(n).Range("A65536").End(xlUp).Row
  On Error Resume Next
    athletes.Add Trim(Sheets(n).Cells(m, colP)) & "_" & Trim(Sheets(n).Cells(m, colN)) & "_" & Trim(Sheets(n).Cells(m, colNat)), CStr(Trim(Sheets(n).Cells(m, colP)) & "_" & Trim(Sheets(n).Cells(m, colN)) & "_" & Trim(Sheets(n).Cells(m, colNat)))
  On Error GoTo 0
Next m
End If
Next n
For n = 1 To athletes.Count
 tableau = Split(athletes(n), "_")
 Sheets("Athlètes").Range("A" & n + 1) = tableau(0)
 Sheets("Athlètes").Range("B" & n + 1) = tableau(1)
 Sheets("Athlètes").Range("C" & n + 1) = tableau(2)
Next n
End Sub

elle donne en feuille athletes la liste des concurrents selon la saisie

tu testeras et classeras ensuite la dite liste par ordre alphabetique de noms ce qui te permettras de voir les erreurs de saisie (assez nombreuses d'apres ce que j'ais pu voir)

en cas de probleme , je suis a l'ecoute
 
Re : Au secours

Hello Tous, je vais prendre un abo permanent au site !!!! Merci Pierre Jean de ton intêrêt et contribution. Je vais abuser :
Peux tu me dire si :
- Ta macro supprimme les espaces inutiles avant importation (je ne pense pas!).
- Comment intégrer celle-ci dans ma feuille originale de maniére efficace. pour tout dire, pour l'instant je recopie la macro dans un subuser form vierge et demande l'éxé. Cela ne me parait pas trés protocolaire !!!
La bise et à bientôt.
 
Re : Au secours

Salut Nulette,

Je viens de voir ton post, et suis en train de tester ma macro sur ton fichier original !

Comme il y a pas mal de noms, c'est un peu long 🙄
Je t'adresse le fichier dès que possible 😉

PS : La macro de PierreJean est pas mal du tout, mais ne supprime pas les espaces dans les noms.

A+
 
Re : Au secours

Hello Pierre Jean,
Ca marche du tonnerre. Bravo et merci bcp bcp bcp....Seul souci (évoqué dans mon post précédant) c'est que j'aimerais bien virer les espaces inutiles sur les feuilles courses, car je vais devoir me servir de celles-ci. As tu une solution ?
La super Nulette....
 
Re : Au secours

re

la macro supprime les espaces devant et derriere les noms , prenoms et code nationalité (et pas au milieu)

la meilleure façon de l'utiliser , à mon avis, est de la copier dans un module et de l'appeler par un ' call test ' lequel peut etre mis a peu pres n'importe ou

testes la deja en la lançant par

Outils > Macro > Macros

selectionne test et executer
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…