Excel, déplacer une sélection de colonne.
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Excel, déplacer une sélection de colonne.



  1. #1
    Michael_87

    Excel, déplacer une sélection de colonne.


    ------

    Bonjour à tous,

    Je rencontre quelques soucis sur excel avec le langage vba que je n'ai jamais utilisé. Ma feuille excel se présente comme ceci:

    Nom : excel.JPG
Affichages : 92
Taille : 26,7 Ko

    Comme vous pouvez le voir, je demande au client de coller des données recueillies à partir de la colonne A2. Ces données vont jusqu'à Ax.
    Ax étant indéterminé car le client peut coller une faible comme une grande quantité de donnée.

    Je dois réaliser un code VBA qui va me séparer ces données sur les colonnes B2 jusqu'à Bx pour la tension et C2 juqu'à Cx pour le courant.
    La colonne suivante déduit la puissance selon la tension et le courant (que j'arrive à gérer).

    J'ai déjà effectuer un code pour séparer ce qui se trouve en A2 sur B2 et C2.
    Code:
    Sub Bouton_test()
        Dim maDonnee As String
        y = 2
        Do While Cells(1, 1) <> ""
        
        'Données à convertir
        'Les données se trouvent sur la case A2 de excel
        maDonnee = [a2]
            
        'La séparation entre les données est un point-virgule
        maSeparation = InStr(maDonnee, ";")
        
        'Si il n'y a plus de séparation après la donnée, il
        'décale les données d'une case vers la droite
        If maSeparation = 0 Then
        Cells(2, y) = [a2]
        [a2] = ""
        End
        End If
        
        'Extrait la valeur des données jusqu'avant la séparation depuis la gauche
        '[b2] = Left(maDonnee, (maSeparation + 1))
        '[c2] = Left(maDonnee, (maSeparation + 1))
        Cells(2, y) = Left(maDonnee, (maSeparation - 1))
        
        'Mid pour retourner un nombre spécifié de caractères à partir d'une chaîne
        Cells(2, 1) = Mid(maDonnee, (maSeparation + 1))
        y = y + 1
        Loop
    End Sub
    Mais je n'arrive pas à faire en sorte que ceci fasse de même si les données recueillies vont de A2 jusqu'à Ax.
    J'ai bien essayé avec de sélectionner la colonne en modifiant mon code avec Cells(2, y) = Columns("a2; ax").Select
    mais après ça la 1ère ligne ne se sépare plus correctement.

    Une aide ou des conseils sont les bienvenus

    Merci beaucoup.

    -----

  2. #2
    Pauldair

    Re : Excel, déplacer une sélection de colonne.

    Bonjour et bienvenue sur le Forum,

    Je ne suis pas sûr de bien comprendre ce que tu cherches à faire.

    Pourrais-tu nous donner un exemple de données que ton client va coller en A2 ?

    Cordialement.
    Dernière modification par Pauldair ; 06/03/2015 à 11h16.

  3. #3
    Michael_87

    Re : Excel, déplacer une sélection de colonne.

    Bonjour Pauldair,

    Ce sont des données qui sont sur clé USB dans un fichier en format .CSV

    Dans les grandes lignes, j'ai une installation solaire (panneau solaire, régulateur, batterie, onduleurs).
    Des mesures de tension et courant sont effectués et ces valeurs sont enregistrés sur une clé USB
    dans le fichier .CSV

    Exemple:

    A1 : 1.453;1.532
    A2 : 3.234;0.345
    A3 : 2.123;0.824
    etc.

    Le client fait un simple copier coller de ces données, présentes sur la colonnes A, dans le fichier excel qui
    lui est fourni pour séparer les valeurs de tension et courant et déduire la puissance.

    Voilà un exemple de ce que cela doit donner:
    Nom : excel2.JPG
Affichages : 83
Taille : 33,1 Ko

    Il ne doit rien y avoir sur la colonne A après avoir appuyer sur le bouton. J'ai juste mis des valeurs pour
    visualiser ce que je veux obtenir sur les colonnes B et C.
    Dernière modification par Michael_87 ; 06/03/2015 à 11h56.

  4. #4
    Pauldair

    Re : Excel, déplacer une sélection de colonne.

    Selon toi, que se passe-t-il dans ton programme entre ces lignes:

    Code:
    If maSeparation = 0 Then
        Cells(2, y) = [a2]
        [a2] = ""
        End
    End If

  5. A voir en vidéo sur Futura
  6. #5
    Michael_87

    Re : Excel, déplacer une sélection de colonne.

    y valant 2 au début du code.
    Ce qui se trouve sur A2 va être décalé sur la case 2,2 qui correspond à B2

  7. #6
    Pauldair

    Re : Excel, déplacer une sélection de colonne.

    Que fait l'instruction End avant ton End If ?

    Code:
    If maSeparation = 0 Then
        Cells(2, y) = [a2]
        [a2] = ""
        End            <-----------
    End If
    Dernière modification par Pauldair ; 06/03/2015 à 12h57.

  8. #7
    Michael_87

    Re : Excel, déplacer une sélection de colonne.

    Ca va quitter mon programme non? Ce "End" est exécuté quand il n'y a plus de séparation point virgule.

  9. #8
    Pauldair

    Re : Excel, déplacer une sélection de colonne.

    Le problème, c'est que maSeparation est une chaîne de caractères et non pas un nombre, donc tu devrais plutôt écrire:

    Code:
    If maSeparation = "" Then
    Car j'ai bien peur que maSeparation soit toujours égale à zéro, donc ton programme s'arrête au premier passage sur ton End

  10. #9
    Michael_87

    Re : Excel, déplacer une sélection de colonne.

    J'ai trouvé une astuce pour palier à ce problème d'avoir toutes mes données sur une seule colonne. J'ai changé la manière d'enregistrer les données sur la clé USB. Normalement le format csv, à chaque point-virgule, est censé mettre le chiffre dans la colonne à coté. Par exemple si les données sont 1.23;4.56 je dois avoir sur le fichier csv A1: 1.23 et B1: 4.56, alors qu'avant j'avais A1: 1.23;4.56.

    Mais maintenant ça va, j'ai le résultat que je comptais avoir au final. Merci quand même Pauldair de ton aide.

    Cordialement

Discussions similaires

  1. VB sur Excel determiner range de selection
    Par Lopgor dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 30/03/2013, 10h00
  2. EXCEL 2007: Deplacer un objet en fonction de la valeur d'une cellule
    Par invite645f8d5d dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 13/01/2013, 10h31
  3. EXCEL : retrancher des cellules d'une sélection
    Par uneautreterre dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 12/05/2012, 19h50
  4. Excel - sélection des dessins [Résolu]
    Par Zozo_MP dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/08/2011, 00h18
  5. Excel filtre automatique selection
    Par jackycharp dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 05/10/2009, 17h16
Découvrez nos comparatifs produits sur l'informatique et les technologies.