Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

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
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
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
 

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 Barbatruc
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.
Faux
0033 contient une suite de 4 Nombres donc le format de la cellule personnalisé est : 0000
il sera affiché dans la cellule Excel 0033

si 9 chiffres : Format personnalisé : 000000000
une suite de 9 zéro

cdt
 

laurent950

XLDnaute Barbatruc
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

Réponses
1
Affichages
432
Réponses
5
Affichages
272
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…