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 :

Séparer une colonne en deux dans excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 103
    Points
    103
    Par défaut Séparer une colonne en deux dans excel
    Bonjour,
    j'ai une feuille de calculs avec plusieures colonnes, dans certaines, il y a du texte, dans d'autres il y a des chiffre, dans d'autres il y a uniquement des dates et dans d'autres encore, il y a date et heure.
    Exemple:
    Doc1.doc

    J'aimerais donc savoir comment faire (par macro ca serai super, manuellement ca serai déjà bien) pour separer les dates et heure en deux colonnes.

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Bonjour
    de ce que je peux voir, sur ton fichier la date et les heures sont semble toujours du même format je te conseillerais un truc comme ca:

    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
    Sub séparer()
    Dim i As Integer
    Dim j As Integer
     
    'ici ta colonne
    j = 1
    'la ligne de début
    nbd = 1
    'la ligne de fin
    nbf = 100
     
    Worksheets("nom de ta feuille").Columns(j + 1).Select
    selection.Insert Shift:=xlToRight
     
    For i = nbd To nbf
    Worksheets("nom de ta feuille").cells(i, j + 1).Value = Right(Worksheets("nom de ta feuille").cells(i, j).Value, 5)
    Worksheets("nom de ta feuille").cells(i, j).Value = Left(Worksheets("nom de ta feuille").cells(i, j).Value, 10)
    Next i
     
    End Sub
    voili voila
    dit moi si ca va
    les arguments des fonctions right et left sont peut être à adapter suivant

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Quelles colonnes veux-tu partager en deux et que veux-tu obtenir ?
    Si ce ne sont que les dates à séparer des heures, où veux-tu mettre les heures ? Dans une colonne (ajoutée) suivant les dates ou dans la précédente ?
    A+

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 103
    Points
    103
    Par défaut
    hé bien ouui, je veux séparer les dates des heures et mettre les heures dans une autre colonne,
    j'ai trouvé un moyen, mais malheureusement, ca me change le contenu de la colonne suivante, et ca ca m'embête.

    Voilà la macro
    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
    'il y a 42 colonnes,
    'on va commencer par compter vérifier le format des cellules,
    For nb_colonn = 19 To 42
    Cells(2, nb_colonn + 2) = Cells(2, nb_colonn + 2)
     
        If Worksheets("Feuil1").Cells(2, nb_colonn).NumberFormat = "m/d/yyyy h:mm" Then
            Cells(2, nb_colonn).Select
                Range(Selection, Selection.End(xlDown)).Select
                Selection.EntireColumn.Insert
                Cells(2, nb_colonn + 1).Select
                Range(Selection, Selection.End(xlDown)).Select
                Selection.TextToColumns Destination:=Cells(2, nb_colonn), DataType:=xlDelimited, _
                    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
                    Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
                    :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
         End If
    Next nb_colonn
    et voilà le résultat:
    Doc1.doc

    donc j'ai bien insérer ma colonne à droite de celle que je voulais séparer, j'ai séparé en deux, mais le contenu de colonne suivante à été modifié, comment faire pour arranger ca?

    Merci

  5. #5
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 159
    Points : 103
    Points
    103
    Par défaut résolu
    Ca y est , modifiant un peu la macro de gruget, j'ai réusiiiii,

    merci à tous


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Séparer une colonne en deux colonnes
    Par rima2112 dans le forum Excel
    Réponses: 1
    Dernier message: 12/11/2014, 20h55
  2. [XL-2010] Copier et coller une colonne Word pécise dans Excel
    Par jérémyp8 dans le forum Excel
    Réponses: 1
    Dernier message: 21/04/2013, 08h14
  3. [WD-2010] Copier et coller une colonne Word précise dans Excel
    Par jérémyp8 dans le forum Word
    Réponses: 1
    Dernier message: 13/04/2013, 00h00
  4. Mettre les données d'une colonne d'un fichier Excel dans une ArrayList
    Par kortobi dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 05/09/2012, 19h40
  5. [Toutes versions] Copier une colonne d'un fichier Excel dans un fichier TEXT.
    Par jerem_orga dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/08/2010, 23h41

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