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 :

fonction gauche en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    SJL MAGHREB
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : SJL MAGHREB
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Par défaut fonction gauche en vba
    bonjour expert,
    je suis débutant en vba et je cherche à faire une fonction gauche mais ça march pas, ci dessous mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub NETO()
    Dim original As Range
    Dim k As Integer
    Set original = Sheets("BLDEP").Range("B10")
    Sheets("TRANSIT").Activate
    k = Sheets("TRANSIT").End(xlToRight).Column + 1
    With Application.WorksheetFunction
    Cells(3, k).Value = Left(original, 8)
     
    End With
     
    End Sub
    merci pour votre aide.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Quand tu utilises With, il t efaut mettre un point pour devant l'instruction suivante (pas facile a expliquer)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Application.WorksheetFunction
    Cells(3, k).Value = .Left(original, 8)
    
    End With
    Par contre, l'instruction left existe en VBA mais attend en premier paramètre une chaine de caractère et non un objet Range
    En simplifiant cela devrait donner le code ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub NETO()
    Dim k As Integer
     
    k = Sheets("TRANSIT").End(xlToRight).Column + 1
     
    Sheets("TRANSIT").Cells(3, k).Value = Left(Sheets("BLDEP").Range("B10").Value, 8)
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    SJL MAGHREB
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : SJL MAGHREB
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Par défaut
    j'ai essayé avec le nouveau code mais ça marche pas
    un message d'erreur s'affiche"propriété ou méthode non gérée par cet objet"

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Oui, en effet, la formule left n'existe pas derrière l'instruction WorksheetFunction. (Cela était un exemple de fonctionnement et je n'ai pas vérifié a tord)

    Utilise le code en dessous (attention code non testé), et reviens vers nous, si tu as une difficulté, Avec la ligne qui te pose problème.

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Attention à cette coquille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    k = Sheets("TRANSIT").End(xlToRight).Column + 1

  6. #6
    Membre averti
    Homme Profil pro
    SJL MAGHREB
    Inscrit en
    Janvier 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : SJL MAGHREB
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 16
    Par défaut
    je n'arrive pas à savoir d'où vient le problème.
    merci de votre aide.

  7. #7
    Membre émérite
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Par défaut
    Bonjour à tous

    Si je peux émettre une idée, juste un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Option Explicit
    Dim a As Integer
     
    Sub gauche()
    a = Range("G7").Offset(0, -4)   ' a = range("G3")
    End Sub
    Si j'ai bien compris ton pb.

    Eric

    PS : K = ?????? car je plante sur K=

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

Discussions similaires

  1. [VBA]Fonction 'ajout' en vba sur une table
    Par rico63 dans le forum VBA Access
    Réponses: 15
    Dernier message: 28/03/2007, 16h56
  2. Comment écrire dans une cellule la fonction SUM en vba?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/02/2007, 19h24
  3. Fonction excel en VBA
    Par Gary US dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2006, 17h39
  4. Fonction Yield en VBA sans Automation
    Par laurentcr dans le forum Access
    Réponses: 7
    Dernier message: 02/10/2006, 14h43
  5. Réponses: 1
    Dernier message: 14/10/2005, 15h36

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