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 :

[VBA] excel _Formulation d'une action dans une boucle avec variable_Besoin d'aide


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [VBA] excel _Formulation d'une action dans une boucle avec variable_Besoin d'aide
    Bonjour,
    J'espère que l'intulé ne vous paraitra pas trop bizar , j 'ai eu beaucoup de mal à formuler mon problème.

    Je souhaite utiliser une action : convertion de donnée sur une colonne ( Donnée / Convertir ), cette action sera paramétré différement en fonction de mon type de colonne.

    Lorsque j'enregistre une macro de cette action sur la colonne A( convertir la colonne en Date ) cela me donne le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 4)
    J'aimerai pouvoir répéter cette action dans une boucle ou la colonne est une variable
    m : compteur du numéro de colonne
    counter : nb de colonne
    les xxx correspondent au inconu, j avai d abord mis m et m1 mais cela ne fonctionne pas.
    Je suis novice en VB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For m = 1 To counter
     
        valeurcellule = Left(ActiveWorkbook.Sheets(1).Cells(1, m).Text, 3)
        If valeurcellule = "DAT" Then
            Columns("XXX").Select
            Selection.TextToColumns Destination:=Range("XXX"),  DataType:=xlFixedWidth, _
            FieldInfo:=Array(0, 4)
        End If 
    Next m


    Mon action a pour but de de convertir la cellule en une vrai date, qui sera reconnu comme tel lors de mon importation access ( sans cette action la colonne est reconnu en tant que texte alors que elle est au format date jj/mm/aaaa, et la seule manipulation qui fontionne pour qu elle soit effectivement reconnue en tant que date sous access c est de convertir la colonne à l aide de l assistant Donée/Convertir), je doit repeter cette opération sur 68 colonne c est pour cela que une macro me serait vraiment utile.

    Merci d avance pour toute aide

    Yolande

  2. #2
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For m = 1 To counter
     
        valeurcellule = Left(ActiveWorkbook.Sheets(1).Cells(1, m).Text, 3)
        If valeurcellule = "DAT" Then
            Columns(m).Select
            Selection.TextToColumns Destination:=Range(m & "1"),  DataType:=xlFixedWidth, _
            FieldInfo:=Array(0, 4)
        End If 
    Next m
    N'oubliez pas de mettre le

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Cela ce fonctionne pas, il me dit : "La méthode 'range' de l'objet'_global a échoué .....
    Je suis donc toujours à la recherche d'un sauveur .. lol

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for colo=1 to nombredecolonnes concernées
    Columns(asc(colo+64) & ":" & asc(colo+64).Select
    Elle est pas belle la vie ?

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Désolé j'ai fais une ENORME boulette lol
    Range (31) c'est dur a trouver lol

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub mm()
    For m = 1 To Counter
     
        valeurcellule = Left(ActiveWorkbook.Sheets(1).Cells(1, m).Text, 3)
        If valeurcellule = "DAT" Then
            Columns(m).Select
            Selection.TextToColumns Destination:=Cells(1, m), DataType:=xlFixedWidth, _
            FieldInfo:=Array(0, 4)
        End If
    Next m
     
    End Sub
    N'oubliez pas de mettre le

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/09/2009, 14h37
  2. Exécuter une action dans une action
    Par mattheox dans le forum Struts 1
    Réponses: 1
    Dernier message: 17/07/2008, 15h44
  3. Détecter une action d'une classe dans une autre classe
    Par Pirokkk dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/05/2008, 12h14
  4. Appeler une action dans une action
    Par japz dans le forum Struts 1
    Réponses: 2
    Dernier message: 25/01/2007, 08h48
  5. [Struts] Appel d'une action dans une action
    Par cosmos38240 dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/02/2006, 15h52

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