A voir également:
- MACRO
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Macro Recorder - Télécharger - Divers Utilitaires
- Macro word - Guide
- Macro souris ✓ - Forum Windows
2 réponses
Chris 94
Messages postés
50787
Date d'inscription
mardi 8 janvier 2008
Statut
Modérateur
Dernière intervention
17 février 2023
7 568
2 avril 2008 à 14:57
2 avril 2008 à 14:57
Bonjour,
https://www.commentcamarche.net/infos/25843-guide-d-utilisation-du-forum-de-commentcamarche-net/ n'est-ce-pas ?
Mais Excel est portable et, bien que nous soyons dans le forum Mac, quelqu'un saura peut-être vous aider.
Du point de vue macro, sans doute nécessaire pour analyser les cellules les unes après les autres, je n'ai pas du tout d'expérience.
Pour l'analyse d'une cellule, j'utiliserai les fonctions DROITE(texte;no_car) GAUCHE(texte;no_car) STXT(texte;no_depart;no_caractere). Ca devrait pouvoir vous être utile si la structure des cellules est constante (les nombres entre les espaces ont tous le même nombre de chiffres), ex :
" 12345 34567 56789 " est OK
" 1234 3456789 56789 " peut être plus difficile à traiter.
CNUM(texte) convertit un texte représentant un nombre en vrai nombre ; CTXT(nombre, decimale;no_separateur) arrondit un nombre au nombre de décimales spécifié et renvoie le résultat sous forme de texte avec ou sans virgule. Ces deux fonctions peuvent aussi vous servir.
Si ça peut vous servir de point de départ...
https://www.commentcamarche.net/infos/25843-guide-d-utilisation-du-forum-de-commentcamarche-net/ n'est-ce-pas ?
Mais Excel est portable et, bien que nous soyons dans le forum Mac, quelqu'un saura peut-être vous aider.
Du point de vue macro, sans doute nécessaire pour analyser les cellules les unes après les autres, je n'ai pas du tout d'expérience.
Pour l'analyse d'une cellule, j'utiliserai les fonctions DROITE(texte;no_car) GAUCHE(texte;no_car) STXT(texte;no_depart;no_caractere). Ca devrait pouvoir vous être utile si la structure des cellules est constante (les nombres entre les espaces ont tous le même nombre de chiffres), ex :
" 12345 34567 56789 " est OK
" 1234 3456789 56789 " peut être plus difficile à traiter.
CNUM(texte) convertit un texte représentant un nombre en vrai nombre ; CTXT(nombre, decimale;no_separateur) arrondit un nombre au nombre de décimales spécifié et renvoie le résultat sous forme de texte avec ou sans virgule. Ces deux fonctions peuvent aussi vous servir.
Si ça peut vous servir de point de départ...
Bonjour,
si le souhait concerne l'exemple précis, il est facile de créer la première ligne de formules puis de la recopier vers le bas,
il faut dans ce cas une régularité dans le nombre de caractères avant et après chaque espace.
Sinon il faut adapter la formule au cas par cas..
exemple, vous voulez obtenir ça:
http://imagik.fr/view-rl/34206
voici les formules à entrer :
http://imagik.fr/view-rl/34207
Explication de la formule dans la case B2
=sxt indique qu'il faut extraire des caractères d'une chaîne, $ verrouille la colonne de référence pour permettre la recopie partielle vers la droite, A indique la colonne, 2 indique la rangée; 1 indique la position du premier caractère à extraire; 7 indique le nombre de caractères à extraire.
Une fois que les cases B2, C2 et D2 sont renseignées, il suffit d'étendre les trois vers le bas.
Bonne chance
PS: notez que les nombres récupérés restent au format texte, et que pour les exploiter au format nombre il faudra les convertir, ce qui se fait par la formule =CNUM(b2) par exemple
si le souhait concerne l'exemple précis, il est facile de créer la première ligne de formules puis de la recopier vers le bas,
il faut dans ce cas une régularité dans le nombre de caractères avant et après chaque espace.
Sinon il faut adapter la formule au cas par cas..
exemple, vous voulez obtenir ça:
http://imagik.fr/view-rl/34206
voici les formules à entrer :
http://imagik.fr/view-rl/34207
Explication de la formule dans la case B2
=sxt indique qu'il faut extraire des caractères d'une chaîne, $ verrouille la colonne de référence pour permettre la recopie partielle vers la droite, A indique la colonne, 2 indique la rangée; 1 indique la position du premier caractère à extraire; 7 indique le nombre de caractères à extraire.
Une fois que les cases B2, C2 et D2 sont renseignées, il suffit d'étendre les trois vers le bas.
Bonne chance
PS: notez que les nombres récupérés restent au format texte, et que pour les exploiter au format nombre il faudra les convertir, ce qui se fait par la formule =CNUM(b2) par exemple