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 Left, Right


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 9
    Par défaut Fonction Left, Right
    Bonsoir,

    Je n'arrive pas à trouver la solution dans ma situation pour supprimer les trois derniers caractères de toutes les cellules de ma colonne allant de Range("A3:A500")

    J'ai réussi dans un de mes programmes à utiliser cette fonction mais en passant par des selects. Ce coup-ci je souhaite l'appliquer a toute ma plage d'un coup.

    Code de la dernière fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Right(ActiveCell, Len(ActiveCell) - InStr(ActiveCell, "") - 3)
    Merci d'avance

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pas testé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    sub MoinsLong
         dim longueur as integer
         dim  as String
         for each cellule in range("a3:a500")
            UnTexte = cellule.text
            longueur = len(UnTexte)-3
            ÀGauche = Left(UnTexte,longueur)
            cellule.value = ÀGauche
         next
    end sub

  3. #3
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 9
    Par défaut
    J'ai essayé plus au moins votre programme en remplaçant le texte par la valeur de la cellule active mais cela ne fonctionne pas. Lorsque j'essaye avec vos instructions j'obtiens la même erreur qui est "Argument ou appel de procédure incorrect.
    Sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ÀGauche = Left(UnTexte, longueur)
    Mon essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each Cellule In Range("A3:A500")
       longueur = Len(ActiveCell.Value) - 3
       Agauche = Left(ActiveCell.Value, longueur)
       ActiveCell.Value = Agauche
    Next
    Merci

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai essayé plus au moins votre programme
    C'est le "plus ou moins" qui pose problème.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 9
    Par défaut
    J'ai réalisé les deux essais avec le code fournie à l'identique et un code modifié qui répondait à mon besoin mais j'obtiens la même erreur sur les deux qui est : "Argument ou appel de procédure incorrect." Pour vous Philippe le programme fonctionne ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour vous Philippe le programme fonctionne ?
    Je n'ai pas testé le programme de Clément mais il est évident que votre programme ne peut pas fonctionner avec une boucle For Each qui parcourt toutes les cellules de la plage A3:A500 alors que la modification se fait sur la cellule active.
    Voici un programme qui enlève les trois caractères de droite des cellules de la plage A2:A500.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub T()
      Dim Cel as Range
      For Each Cel in Range("A2:A500")
       With Cel
         If Len(.Value) > 3 Then .Value = Left(.Value, Len(.Value) - 3)
       End With
      next
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Bibliothèque manquante pour fonctions Left, right, mid
    Par wrm8787 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/04/2009, 20h21
  2. Fonctions Left / Right
    Par Lolosan dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/01/2009, 03h21
  3. Probleme avec fonction Left et Right
    Par aliboubou dans le forum Access
    Réponses: 1
    Dernier message: 11/01/2007, 14h02
  4. Réponses: 4
    Dernier message: 10/12/2006, 18h33
  5. Fonction Left join, Right Join
    Par chandlerbing77 dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2006, 16h36

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