Macro de mise en forme pb

  • Initiateur de la discussion Initiateur de la discussion sarahg
  • 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 !

S

sarahg

Guest
Macro MEF besoin d'une astuce sur Date et cellule vide

Bonjour à tous,

Nouvelle sur ce forum, je sollicite votre aide sur un problème de macro.

J'aimerais automatiser une intégration de fichiers transporteurs dans une base de données SQL. Chaque jour, j'extrais des fichiers de transporteurs et je dois les mettre en forme.

J'ai donc crée 3 macro de mise en forme ( car 3 transporteurs).

mais je me heurte à un problème sur certain fichiers comme par exemple un problème de date qui ne veut pas se mettre correctement sur le fichier 060607.. je ne comprend pas mon erreur.

De plus pour intégrer c'est fichiers je dois borner chaque ligne en colonne N d'une référence transporteur comme CHRONOPOST et TNT JEt/spare.

j'ai donc recrée 3 macro de finalisation.

Le problème ce pose sur les cellules vides de le colonne M qui empeche ma macro de prendre l'ensemble de la selection. (variable chaque jour)

la colonne O doit contenir des n pour terminer les lignes et les intégrer dans ma bases de 13 champs. (cela marche si la colonne N sr remplit correctement)

Je vous joins mes 3 fichiers en, espérant que quelqu'un puisse m'aider car ensuite il me faudra automatisé cette procédure enregistrement en TXT de ces fichiers et intégration via une procdure PHP 🙂

Merci de votre aide !
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro de mise en forme pb

bonsoir bébere

j'ai regardé le fichier joint mais toujours ce problème de Date

'dates dans A
For Each Cel In Range("M1:M" & DerL)
Chaine = Cel
Jour = Val(Right(Chaine, 1))
Mois = Val(Mid(Chaine, 3, 1))
An = Val(Left(Chaine, 1))
L = L + 1
Range("A" & L) = DateSerial(2000 + An, Mois, Jour)
Next Cel
Range("A1:A" & DerL).NumberFormat = "yyyy-mm-dd"

j'obtient ce resultat assez farfelus 2000-12-07 au lieu de 2007-06-07.

J'arrive ) au resultat 2007 mais je ne comprend pas Mois = Val(Mid(Chaine, 3, 1))

certainement ces paramètres à regler ? la DATE est tres importante (J-1) et c'est ce qui me posait le plus de problème sur ce fichier

Sinon, je ne suis pas au travail mais MAVAL est OK, je pense pouvoir compiler les codes pour enlever les espaces de la colonne C pour les celulles commencant par A ou T pour MAOLS et changer une ou 2 colones 🙂

reste ensuite que j'aurais du indiquer le nom des colonnes du resultat final pour s'y repérer (apres tout 13 colonnes identiques pour ces 3 fichiers)

il est vrai que même moi je m'y perd
🙄

Merci encore car je pense que demain je pourrais attaquer ma macro de conversion automatique en txt ! mais si une solution existe pour trouver la bonne DATe je vous en serait reconnaissante

A bientot !
 
Re : Macro de mise en forme pb

bonjour Sarah
voir commentaires dans code
il faut lire l'aide ,c'est ce que je fais
à ta place pour transférer les données en fichier texte je le ferais en .txt
tu as le choix quand tu sauves,juste choisir le séparateur de colonne
à bientôt
 

Pièces jointes

Re : Macro de mise en forme pb

Merci Beaucoup,

Cette macro est parfaite! Je vais suivre ton conseil pour enregistrer en TXt


EDIT:

J'ai parlé un peu vite! J'ai un problème avec cette satané DATE ! J'ai regardé le code fournit mais je suis devant une impasse.

En effet, en debut de mois, l'extraction me propose en date un format a 5 Chiffres (90607) et a partir de la première dizaine un format a 6 chiffres (190607). Hors je n'arrive pas à appliquer cette partie du Code qui est préformaté pour 6 chiffres. (fonction if pour vérifier le format de la date avant?)

Je vous donne le dernier exemple de problème que cela créer😕 Juste tester votre macro vous comprendrez j'espere !

Encore merci!
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro de mise en forme pb

En effet 🙂

j'avais bien compris la verification de longueur sans savoir l'appliquer.


Cela semble bien marcher, je suis très contente !

question méthodologie, peux ton envisager d'appliquer une macro à l' ouverture d'un fichier portant un nom precis? (worksheet_open il me semble)

exemple ouverture du fichier Maval et execution automatique de la Macro Maval?

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

Discussions similaires

Réponses
25
Affichages
1 K
Réponses
7
Affichages
367
Réponses
8
Affichages
780
Retour