Extraire information d'Excel en txt Absences

Bonjour,

J'ai de nouveau besoin de votre aide.

Je reçois les informations d'absences, d'une population, dans un tableur excel ci-joint.

J'ai la possibilité d'injecter, au lieu de saisir, ces informations dans notre logiciel de suivi.

Mais je n'arrive pas à obtenir exactement le format demandé.

Voici un exemple : pour 2 rtt pris du 19/06/2014 au 20/06/2014, voici le format dont j'ai besoin :

500;0456;RTT1;19/06/2014;100;700;19/06/2014;20/06/2014

500;0456;RTT1;20/06/2014;100;700;19/06/2014;20/06/2014

Cela correspond à, dans l'ordre :

1. N° de firme

2. Matricule

3. code évènements

4. jour (une ligne par jour)

5. 100 est un code fixe

6. 700 est un code fixe

7. la période de l’évènement concerné.

Je vous joins 2 fichiers, celui que je reçois et la transformation que je voudrais obtenir.

Pensez-vous pouvoir faire quelques choses pour moi.

D’avance MERCI

12abs-juin.txt (4.04 Ko)

Bonjour,

Voir fichier pour la taitement de la mise en forme.

(ALT F11 pour ouvrir l'éditeur VBE et voir modExport)

Cdlt.

Bonjour Jean-eric,

Tout d'abord, merci de t'intéresser à mon problème.

On s'approche mais ta macro ne résout pas mon problème.

Quand un personne est absent 7 jours de suites, il faut 7 lignes.

500;0254;mala;12/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;13/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;14/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;15/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;16/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;17/06/2014;100;700;12/06/2014;18/06/2014

500;0254;mala;18/06/2014;100;700;12/06/2014;18/06/2014

Cela correspond à, dans l'ordre :

1. N° de firme

2. Matricule

3. code évènements

4. jour (une ligne par jour). Chaque ligne reprend 1 jour à la fois du début à la fin de la période

5. 100 est un code fixe

6. 700 est un code fixe

7. la période de l’évènement concerné. chaque ligne doit reprendre la période entière

Alors que ta macro ne prend qu'une seule, le 1er jour et puis plus rien, de chaque période.

Merci beaucoup pour l'intérêt que tu portes à mon problème.

Amicalement.

Re,

Désolé, j'avais lu entre les lignes.

Nouvelle proposition à tester.

Cdlt.

Bonjour Jean-Eric,

Merci beaucoup pour votre réponse.

Ce que l'on obtient dans la feuille "export" est parfait.

Pensez-vous qu'il soit possible d'enregistrer dans le dossier ou se trouve le "tableau absences juin", les données de la feuille "export" en txt avec, comme séparateur, un ;

Ce qui donnerais cela :

500;1000;mala;12/06/2014;100;700;12/06/2014;13/06/2014

500;1000;mala;13/06/2014;100;700;12/06/2014;13/06/2014

Encore merci.

Amicalement.

Bonjour,

Je laisse le soin à une autre personne pour cette nouvelle question (que j’attendais par ailleurs).

Chercher comment enregistrer un fichier en txt, avec le point-virgule comme séparateur me prendrait un certain temps. .

Un fichier csv, ne ferait-il pas l'affaire?

Et je ne doute pas un instant, qu'une réponse appropriée, te parviendra rapidement du forum.

Cdlt.

Bonjour

Ci joint une proposition qui rajoute une colonne avec les données selon ta forme finale désirée

Soumis à la sagacité de Jean-Eric

Cordialement

FINDRH

Re,

Bonjour FINDRH,

J'ai ajouté ce code trouvé sur le Web et adapté (peut-être) à ta demande.

Cdlt

Public Sub SaveAsTextFile()
Dim C As Variant
Dim fFilename As String
Dim nomFichier As String
Dim a As Integer, b As Integer
Dim tmp As String
Dim Separateur As String

    Separateur = ";"

    With Worksheets("Export")
        C = Range("A1").CurrentRegion
    End With

    ChDir ThisWorkbook.Path

    nomFichier = Split(ActiveWorkbook.Name, ".")(0)

    fFilename = _
    Application.GetSaveAsFilename(InitialFileName:=nomFichier, _
        fileFilter:="Text Files (*.txt), *.txt")

    Open fFilename For Output As #1

    For a = 1 To UBound(C, 1)
        tmp = ""
        For b = 1 To UBound(C, 2)
            If tmp > "" Then
                tmp = tmp & Separateur & C(a, b)
            Else
                tmp = C(a, b)
            End If
        Next
        Print #1, tmp
    Next

    Close #1
    Erase C

End Sub

Bonjour,

Est-ce que l'on pourrait utiliser un "open activeworkbook.path."

J'ai vu cela en regardant sur les sites mais je n'arrive pas à le paramétrer à mon tableau "Tableau abs juin (2).xlsm".

Est-ce que vous pouvez m'aider.

Amicalement.

Bonjour

As tu testé mon envoi qui complète simplement la macro de Jean Eric?

Manuel ctrl maj R ?

Si ça marche il suffit de bien vérifier le chemin critique et de le modifier dans la version automatisée

Cordialement

FINDRH

Re,

Quel couillon, j'avais oublié le fichier

Bonjour Jean-Eric et FINDRH,

Impeccable, c'est exactement ce que je souhaitais.

Mille fois merci.

Très amicalement.

Re bonjour,

j'ai été trop vite.

j'ai un souci avec le fichier de sortie. J'ai besoin que la firme sorte sur 7 positions et le matr sur 5 positions, alors que, pour les matr, les 1er zéro disparaissent.

Voila ce qu'il me faudrait :

7000500;00456;RTT1;19/06/2014;100;700;19/06/2014;20/06/2014

7000500;00456;RTT1;20/06/2014;100;700;19/06/2014;20/06/2014

Avez-vous une solution?

Amicalement

Bonjour

Ci joint une proposition avec la taille des zones corrigées

Cordialement

FINDRH

Bonjour FINDRH,

Cela ne fonctionne pas car mes cellules de départ (matr) son en format nombre.

Reprenez le fichiers ci-joint pour faire les tests, cela ne fonctionne pas.

Merci beaucoup.

Bonjour,

A tester

Super,

Cela fonctionne parfaitement.

Grand merci Jean-Eric et FINDRH.

Bonjour,

J'ai encore besoin de votre aide pour d'un petit quelque chose.

Est-ce qu'il serait possible d'avoir l'info suivante, le jour qui correspond à la première de la ligne.

Par exemple, ici, la date en gras correspond à un jeudi. a la ligne suivant, c'est un vendredi.

7000500;00456;RTT1;19/06/2014;100;700;19/06/2014;20/06/2014;jeudi

7000500;00456;RTT1;20/06/2014;100;700;19/06/2014;20/06/2014;vendredi

Pensez-vous que ce soit possible ???

Trés amicalement.

Bonjour,

A tester (voir éventuellement aide fonction 'Weekday' en VBA).

Cdlt.

Rechercher des sujets similaires à "extraire information txt absences"