IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de conversion de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Par défaut Problème de conversion de données
    Bonjour à tous,

    Novice en VBA, je cherche de l'aide pour écrire le code manquant dans ma macro pour deux tâches spécifiques. Ayant découvert votre communauté, je me permets de m'adresser à vous afin d'obtenir les informations qui me manque. D'avance, je vous remercie de votre aide.

    La situation est la suivante. La macro va chercher des valeurs spécifiques dans une feuille précise et copie un certain nombre de cellules adjacentes souhaité dans une autre feuille. Sauvegarde est ensuite faite de cette feuille en format .csv.

    Deux problèmes se posent à moi:

    En premier lieu, je souhaite que la macro, pour une colonne précise, ne copie pas simplement les données contenues mais une part précise de celle-ci.

    Exemple

    Donnée initiale: XXX AAA XXX > Donnée copiée: AAA
    Donnée initiale: BBB XXX > Donnée copiée: BBB
    etc...

    Je pensais utiliser pour ceci la fonction InStr mais je peine à l'insérer dans mon code.

    Deuxièmement, j'ai des données prises sur 2 colonnes différentes dans mon fichier d'origine. J'aimerais tout d'abord transformer ceux-ci en une autre valeur donnée.

    Exemple

    Donnée initiale: jan > Donnée à copier: 01
    Donnée initiale: fev > Donnée à copier: 02
    etc...

    Le problème est ici similaire au premier.

    L'idée est d'ensuite coller cette valeur sur la nouvelle feuille en y joignant, dans la même cellule, la copie d'une autre cellule de la feuille initiale en séparant les 2 par le caractère "/".

    Exemple

    Données initiales: cellule 1; avr cellule 2; 2012 Données collées dans la cellule respective du nouveau fichier: 04/2012

    Merci d'avance pour votre aide.

    Le code actuel est le suivant:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub ExportationCSV()
        Set SourceRange = Worksheets("XXX").Range("A4:V1004")
     
        Dim currentLineExport As Integer
        currentLineExport = 1
     
        For currentLine = 1 To 1001
            If SourceRange.Cells(currentLine, 7) = "Data1" Then
                Worksheets("ExportationCSV").Cells(currentLineExport, 1).Value = SourceRange.Cells(currentLine, 2)
                Worksheets("ExportationCSV").Cells(currentLineExport, 2).Value = SourceRange.Cells(currentLine, 16))
                Worksheets("ExportationCSV").Cells(currentLineExport, 3).Value = SourceRange.Cells(currentLine, 11)
                Worksheets("ExportationCSV").Cells(currentLineExport, 4).Value = SourceRange.Cells(currentLine, 12)
                Worksheets("ExportationCSV").Cells(currentLineExport, 5).Value = SourceRange.Cells(currentLine, 13)
                Worksheets("ExportationCSV").Cells(currentLineExport, 6).Value = SourceRange.Cells(currentLine, 14)
                Worksheets("ExportationCSV").Cells(currentLineExport, 7).Value = SourceRange.Cells(currentLine, 15)
                Worksheets("ExportationCSV").Cells(currentLineExport, 8).Value = SourceRange.Cells(currentLine, 25)
                Worksheets("ExportationCSV").Cells(currentLineExport, 9).Value = SourceRange.Cells(currentLine, 26)
                Worksheets("ExportationCSV").Cells(currentLineExport, 10).Value = SourceRange.Cells(currentLine, 24)
                currentLineExport = currentLineExport + 1
            End If
        Next
    End Sub
     
    Sub ExportationCSV2()
    '
    ' ExportationCSV2 Macro
    ' Exportation finale csv
    '
     
    '
        ChDir "X:\XXX\XXX"
        ActiveWorkbook.SaveAs Filename:="X:\XXX\XXX\XXX.csv", _
            FileFormat:=xlCSV, CreateBackup:=False
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Tu devrais donner les colonnes concernées par un traitement spécifique et les colonnes de destination.
    Quand tu écris :
    Donnée initiale: XXX AAA XXX
    à quoi correspondent les "X" ? si ce sont des caractères quelconques, comment fait-on la séparation ?

Discussions similaires

  1. [SSIS][2k5]Problème de conversion de données
    Par patriceharel dans le forum SSIS
    Réponses: 4
    Dernier message: 08/07/2009, 10h24
  2. [vb6] probléme de conversion de donnée
    Par lumbroso dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/11/2008, 23h22
  3. Problème de conversion de données
    Par tchoimars dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/11/2008, 11h29
  4. problème de conversion de données
    Par thierry007 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 06/05/2008, 21h39
  5. Réponses: 2
    Dernier message: 18/11/2007, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo