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-E] Tri en fonction de lettre


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 91
    Par défaut [VBA-E] Tri en fonction de lettre
    Bonjour,


    voilà je dois mettre "stock" dans la cellule AH si la cellule de la colonne B contient un numéro commençant par "Q"

    Je dois mettre Entrée dans la cellule AH si la cellule de la colone b commence par "X" ou contient "conten"


    Je suis bloqué...

    Merci

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Salut,

    La solution peut être de passer par une fonction que tu appliques sur une cellule prenant en référence une autre cellule:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    Function CodeStock(ByRef Target As Range) As String
    Dim maChaine As String
    Dim C
        If Target.Cells.Count > 1 Then
            GoTo ErrHandler
        End If
     
        For Each C In Target.Cells
            Select Case UCase(Mid(C.Value, 1, 1))
                Case "Q"
                    CodeStock = "Stock"
                    Exit Function
                Case "X"
                    CodeStock = "Entrée"
                    Exit Function
                Case Else
                    If InStr(C.Value, "conten") <> 0 Then
                        CodeStock = "Entrée"
                    Else
                        CodeStock = "## Données entrée invalides ##"
                    End If
                    Exit Function
            End Select
        Next C
     
    ErrHandler:
        CodeStock = "## Nombre de cellule sélectionnée >1 ##"
    End Function
    Bonne continuation

    Théo

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut Tri en fonction de lettres
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1) Quelle cellule de la colonne B ??
    2) Il vaut mieux mettre l'entièreté de la valeur (par exemple x124), de façon à permettre d'utiliser une boucles If Then Else.
    jpleroisse

  4. #4
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Re,

    J'ai oublié de préciser que le code s'applique sur la cellule de la colonne AH en fonction de la cellule de la colonne B

    ex code cellule AH7:
    =CodeStock("B7")

    @+

    Théo

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut Tri selon lettres
    Bonjour,
    Essaie ce code comme il est pour toi le comprendre, ensuite change à tes besoins la cellule de destination.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Sub Test()
    If Range("B7").Value = "QuantitéStock" Then
    Range("D7").Value = "Stock"
    ElseIf Range("B7").Value = "ContenStock" Then
    Range("D7").Value = "Entree"
    End If
    End Sub
    jpleroisse

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut
    Re bonjour,
    Dans la macro j'ai écrit dans la cellule B7 QuanititéStock et ensuite j'ai remplacer par ContenStock, si c'est autre chose qui y est écrit alors change le nom dans la macro. Tu peux aussi mette plusieur ElseIf avec d'autres noms.

    jpleroisse

  7. #7
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Citation Envoyé par leroissejp
    Re bonjour,
    Dans la macro j'ai écrit dans la cellule B7 QuanititéStock et ensuite j'ai remplacer par ContenStock, si c'est autre chose qui y est écrit alors change le nom dans la macro. Tu peux aussi mette plusieur ElseIf avec d'autres noms.

    jpleroisse
    Lut jpleroisse,

    Il est à noter qu'il travaille essentiellement sur la première lettre de ce qui est écrit dans la cellule de référence comme il le signale dans son post...


    @+

    Théo

    Pensez au tag en bas à gauche, merci

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

Discussions similaires

  1. [XSLT] Tri en fonction d'un paramètre
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 21/04/2005, 11h29
  2. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 14h24
  3. [VBA-E] Ajouter des fonctions dans Excel
    Par Clezio dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2004, 02h18
  4. [VBA-W] [AUTOMATION]Liste Fonctions/Paramètres
    Par Sunny dans le forum VBA Word
    Réponses: 2
    Dernier message: 05/12/2002, 17h35
  5. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 14h22

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