XL 2010 Macro VBA Excel (Doublon,SansAccents,Maj,Min,Nompropre,Espaces superflus)

Virginie17d

XLDnaute Occasionnel
1588208871672.png
 

Pièces jointes

  • MACROS VBA PERSONNEL.xlsm
    60.1 KB · Affichages: 264

patricktoulon

XLDnaute Barbatruc
cela dit il faudrait penser a zapper les cellules qui auraient éventuellement reçu un traitement précédent ça éviterait le moulinage des cases
@eriiiic
For lig = 1 To UBound(datas)

non
il faut se débrouiller pour boucler "for each cell in rng.cells

car on est sensé travailler sur
une selection (voir multiple et non contiguë)
une colonne entière
multi colonnes (voir contiguë ou pas )


même pour le POC gardez ce principe ce sera plus facile a adapter apres au commande du ruban de virginie
 

eriiic

XLDnaute Barbatruc
Non faux car il y a 9 caractères derriere le 1 au lieu de 8
devant un n° à 9 chiffres on ne peut avoir qu'un 0 (ou 0033 etc). Tout autre valeur est une erreur de saisie que tu ne peux pas situer.
Là, hors le 0, ça te fait un n° à 10 chiffres.

Pour ma part ce n'est pas une bonne idée car si le format de la cellule n'est pas correcte une cellule commençant pas des Zéros sont automatiquement supprimés
Le sub retourne un tableau de String, ils sont donc présents. Tu peux par sécurité ajouter le format Text à tes plages traitées.

cela dit il faudrait penser a zapper les cellules
cette am je l'écrirai sous forme de fonction pour rester général.
Comme ça chacun pourra traiter selon le besoin du moment.
Je ne m'attache qu'à la logique du traitement du n°
eric
 

Virginie17d

XLDnaute Occasionnel
devant un n° à 9 chiffres on ne peut avoir qu'un 0 (ou 0033 etc). Tout autre valeur est une erreur de saisie que tu ne peux pas situer.
Là, hors le 0, ça te fait un n° à 10 chiffres.


Le sub retourne un tableau de String, ils sont donc présents. Tu peux par sécurité ajouter le format Text à tes plages traitées.


cette am je l'écrirai sous forme de fonction pour rester général.
Comme ça chacun pourra traiter selon le besoin du moment.
Je ne m'attache qu'à la logique du traitement du n°
eric
Ok je comprends ta logique, merci
 

eriiic

XLDnaute Barbatruc
si tu recois le fichier avec les zero devant c'est que c'est déjà en format text sinon ils n'y seraient pas
heuu, pas toujours non ? Tout dépend comment ils ont été injectés.
Combien de fichiers on a vu passer avec des nombres non reconnus alignés à gauche et les cellules au format Standard
Je pense que le mieux est qu'elle n'y touche pas pour récupérer les chaines intactes, et que ce soit la macro qui mette le format avant de coller
 

Virginie17d

XLDnaute Occasionnel
heuu, pas toujours non ? Tout dépend comment ils ont été injectés.
Combien de fichiers on a vu passer avec des nombres non reconnus alignés à gauche et les cellules au format Standard
Je pense que le mieux est qu'elle n'y touche pas pour récupérer les chaines intactes, et que ce soit la macro qui mette le format avant de coller
C’est ça car malheureusement je ne peux jamais prévoir quel format de cellule je vais recevoir, vous aurez du mal à le croire mais les clients sont parfois pire que moi :D
 

patricktoulon

XLDnaute Barbatruc
re
perso j'ai beau tourner cela dans tous les sens si je suis en standard et que j'injecte un num en string avec "0000" devant par vba ou mano mano ben les zéro ils disparaissent
ils faudra que vous me disiez comment vous faites
et je précise que je viens de tester a l'instant même
si il y a que des numériques ça n'est pas possible
 

laurent950

XLDnaute Accro
Re pas besoin,
car si en France un numéro de téléphone est composé d'une suite de 9 Nombres et que l'on veux avoir l'indicatif international 0033 devant le format personnalisé sera le suivant :
Soit une suite de 9 zéro + 4 zéro = 13 zéro est donc
un numéro 0033123456789 soit le Format personnalisé : 0000000000000
donc 0033123456689 sera bien écrit dans la cellule excel.
 

eriiic

XLDnaute Barbatruc
Laurent, on parle du format des numéros de téléphones (longs) valides en France :
"0" ou "+33" ou "0033" + 9 chiffres

L'exemple discuté était 1673227883 : "1" + 9 chiffres, donc non valide

Ton exemple 0123456789 lui sera bien considéré comme valide bien qu'il n'existe pas
eric
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 428
Messages
2 088 331
Membres
103 815
dernier inscrit
SANOU ANSELME