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 :

Utilisation de left


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur électromécanicien
    Inscrit en
    Juin 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 28
    Par défaut Utilisation de left
    Bonjour je me demandes bien pourquoi le code que j'ai écrit ne marche pas. A l'exécution rien ne se produit. De l'aide svp
    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
    For i = 1 To 376
    If Left(Range("D" & i + 1).Text, 4) = "42GW" Then
    Range("A" & i + 1).Text = "Cassette eau glacée avec moteur"
        Else
        If Left(Range("D" & i + 1).Text, 4) = "42EM" Then
        Range("A" & i + 1).Text = "Ventilo-convecteur gainable en faux plafond avec moteur"
                Else
                If Left(Range("D" & i + 1).Text, 4) = "42EN" Then
                Range("A" & i + 1).Text = "Ventilo-convecteur carrossé ou non carrossé avec moteur"
                    Else
                    If Left(Range("D" & i + 1).Text, 4) = "42NH" Then
                    Range("A" & i + 1).Text = "Ventilo-convecteur gainable en faux plafond  gainée reprise-soufflage"
                        Else
                        If Left(Range("D" & i + 1).Text, 4) = "42LH" Then
                        Range("A" & i + 1).Text = "Ventilo-convecteur gainable en faux plafond  basse pression en vrac"
                        End If
                    End If
                End If
        End If
    End If
    Next i

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Déjà, à ta place, je commencerais par lever les ambiguïtés.

    Remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Left(Range("D" & i + 1).Text, 4) = "42GW" Then
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Left(Range("D" & (i + 1)).Text, 4) = "42GW" Then
    Ensuite, ta collection de If Else, pourrait être remplacer par un Select Case qui serait plus lisible.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Select Left(Range("D" & (i + 1)).Value, 4)
    Case "42GW"
        Range("A" & (i + 1)).Value = "Cassette eau glacée avec moteur"
    Case "42EM"
        Range("A" & (i + 1)).Value = "Ventilo-convecteur gainable en faux plafond avec moteur"
    Case "42EN"
        Range("A" & (i + 1)).Value = "Ventilo-convecteur carrossé ou non carrossé avec moteur"
    Case "42NH"
        Range("A" & (i + 1)).Value = "Ventilo-convecteur gainable en faux plafond  gainée reprise-soufflage"
    Case "42LH"
        Range("A" & (i + 1)).Value = "Ventilo-convecteur gainable en faux plafond  basse pression en vrac"
    End Select
    Mais, à mon avis, tout ça pourrait être remplacer par de simples RECHERCHEV() sans avoir besoin de passer par du VBA.

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur électromécanicien
    Inscrit en
    Juin 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 28
    Par défaut
    il ya une erreur ou un bout de code incomplet à la solution select case que vous venez de me proposer

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select Case Left(Range("D" & (i + 1)).Value, 4)
    C'est quelque chose que tu aurais pu corrigé par toi-même...

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour, bonjour !

    Citation Envoyé par dyjatou92 Voir le message
    pourquoi le code que j'ai écrit ne marche pas. A l'exécution rien ne se produit. De l'aide svp
    Pour trouver l'erreur de conception, le B-A-BA est de suivre la progression du code en mode pas à pas via la touche F8
    tout en contrôlant les données de la feuille de calculs et le contenu de la fenêtre Variables locales

    Voilà, voilà !

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  6. #6
    Membre averti
    Femme Profil pro
    Ingénieur électromécanicien
    Inscrit en
    Juin 2016
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Ingénieur électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 28
    Par défaut
    Eh ben rien ne se produit toujours pas sur la colonne A

  7. #7
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    C'est sans doute parce qu'aucune de tes données ne correspond aux cas que tu décris dans ton code.

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Sans l'instruction On Error dans le code et sans message d'erreur, alors le code fonctionne bien …

    Par contre la conception / la logique du code peut être défaillante, problème situé entre la chaise et le clavier !
    Il suffit juste de vérifier comme pourtant déjà indiqué dans mon précédent message …

Discussions similaires

  1. [MySQL-5.1] Utilisation de LEFT JOIN
    Par Jon Shannow dans le forum Requêtes
    Réponses: 1
    Dernier message: 14/11/2014, 10h47
  2. [AC-97] Utilisation du left sur Access 97
    Par b.billet85 dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/08/2010, 17h48
  3. Utilisation de LEFT JOIN
    Par Bisûnûrs dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/02/2009, 15h31
  4. Utilisation du LEFT JOIN
    Par Mobistar dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/09/2008, 22h56
  5. [MySQL 4.0.17] utilisation de LEFT JOIN 2 fois
    Par Zen_Fou dans le forum Administration
    Réponses: 4
    Dernier message: 26/04/2006, 13h55

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