divinski
Messages postés2Date d'inscriptionmercredi 23 juillet 2014StatutMembreDernière intervention23 juillet 2014
-
23 juil. 2014 à 17:40
jordane45
Messages postés37533Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023
-
30 juil. 2014 à 19:34
Bonjour
J'ai fait le tour des forums mais je n'ai pas trouvé l'info que je cherchais
je me demande même si il est possible de faire ainsi...bref je m'expliques...
J'ai un fichier excel rempli de data, je dois recenser des statistiques pour ce fichier.Malheureusement le fichier n'est pas uniforme alors je me demande s'il est possible de faire travailler VBA afin qu'il me créé des variables supplémentaires pour qu'il classe le fichier...
Plus clairement ma colonne de local contient une série de caractère, je n'ai besoin que des 3 premiers caractères de celle-ci. Si les caractères diffèrent de ceux recherchés alors VBA devrait créé une variable afin de recenser le nombre d'occurrence de ce type de caractères avec leur statut respectif (construction) et(professionnels) qu'il aura enregistré.
Autrement si les caractères correspondent aux résultats attendus, il classe tout simplement la tache selon son statut et emplacement
bref j'aimerais répété cette procédure(création de variables par VBA lui-même plutot que de toutes les nommer) pour toutes mes colonnes puisque les personnes qui m'envoient les fichiers n'ont pas tous la même façon de le remplir et alors il devient hyperdifficile de traiter l'information.
Voici un petit exemple pour être plus clair :
Une ligne de mon excel
La colonne local de mon fichier contient B018100
La colonne statut construction : corrigé et la colonne statut professionnel est vide
J'ai besoin de classer alors cette activité comme tel
: dans le bloc B (première lettre de mon local)
:au niveau 01 ( les deux et troisième lettre de mon local)
:avec un statut corrigé (construction) et vide (profesionnel)
Comme je l'ai dit plus haut , le fichier n'est pas uniforme j'ai donc des noms de local qui ne correspondent pas à cette nomenclature . j'ai tout de même besoin de les classer c'est pourquoi je tenais à savoir si VBA peut créér ses propres variables et les analyser ensuite pour en ressortir les statistiques
NHenry
Messages postés15069Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention29 mai 2023158 23 juil. 2014 à 18:18
Ce que tu décris ressemble pas mal à un dictionnaire de données (Clé->Valeur).
Peut regardes avec l'objet Collection il permet de faire des choses dans ce genre.
Au pire, un tableau dynamique avec un type définit par l''utilisateur (Instruction Type).
jordane45
Messages postés37533Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023341 23 juil. 2014 à 19:04
Bonjour,
Ta question aurait besoin de quelques éclaircissements...
Si les caractères diffèrent de ceux recherchés
Recherchés par qui ... comment ??
Tu veux dire que tu disposes (comme le suggère NHenry) d'un "dictionnaire" contenant toutes les "strcutures" de chaines à cherchée ?
Ou bien tu veux parler de la "FORME" de chaines ? ( par exemple : ta "string" commence par UNE lettre puis DEUX chiffres ) ?
=> Si c'est de la "forme" qu'il est question... il te faudra plutot t'orienter vers les expressions régulières ( REGEXP ).
--> Pour vérifier si ta chaine commence par une lettre puis deux chiffres.. le pattern à utiliser est : ^([a-zA-Z]\d{2})
--> Et donc... tu boucles sur ton tableau... Tu vériies via les regex si la "forme" de ta chaine ( cellule de ta colonne LOCAL) correspond à la forme attendue... et si OUI... tu effectues le traitement désiré...
merci pour ta réponse...je n'aurais jamais trouvé aussi facilement!!!
jordane45
Messages postés37533Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention 6 juin 2023341 30 juil. 2014 à 19:34
Bonjour,
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)