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 :

Programme pour faire ses comptes


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Programme pour faire ses comptes
    Bonsoir

    J'aurai une question car n'étant pas très fort en VBA je ne trouve pas de solution à mon problème.
    J'ai fait une macro excel permettant de faire mes compte.
    Je voudrai rechercher dans la colonne B un mot particulier et écrire dans la colonne C correspondante le mot habillage.
    La commande ci dessous fonctionne très bien cependant je voudrai rechercher plusieurs mots différents et affecter en colonne C correspondant le mot habillage, j'ai donc crée n fois la commande ci-dessous avec les mots recherchés.
    Mon programme étant trop long je voudrai faire cela en une seule instruction, c'est a dire rechercher plusieurs mots en même temps
    Est ce possible? je ne trouve pas la solution merci de votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For no_ligne = 1 To 10000 
    If InStr(1, Range("B" & no_ligne).Value, "Boutique") <> 0 Then Range("C" & no_ligne).Value = "HABILLAGE"
    Next no_ligne

  2. #2
    Candidat au Club
    Homme Profil pro
    Ingénieur Système
    Inscrit en
    Juillet 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur Système
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Bonsoir,

    La solution que je te propose n'est pas forcément la plus élégante mais elle se veut assez simple. Au lieu de répéter le If ... Then sur plusieurs mots, tu modifies la condition de ton If.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For no_ligne = 1 To 10000 
    If InStr(1, Range("B" & no_ligne).Value, "MOT 1") <> 0 Or _
       InStr(1, Range("B" & no_ligne).Value, "MOT 2") <> 0 Or _
       InStr(1, Range("B" & no_ligne).Value, "MOT 3") <> 0 Or _
     
       InStr(1, Range("B" & no_ligne).Value, "MOT N") <> 0 Then
     
       Range("C" & no_ligne).Value = "HABILLAGE"
     
    End If
    Next no_ligne

    J'espère avoir répondu à ta question

  3. #3
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut




    Bonsoir,

    pour alléger voir du côté de l'instruction Select Case
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre retour.
    Je vais essayer cela c'est plus simple que ce que j'avais fait.

    Merci beaucoup pour votre aide.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Une autre solution avec la fonction Split, à condition bien entendu que le mot Habillage soit le mot à renvoyer en colonne C quel que soit le mot trouvé en colonne A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub t()
     Dim WordSearched() As String
     WordSearched = Split(LCase("Mot1;Mot2;Mot3"), ";") ' Liste des mots à chercher
     For no_Ligne = 2 To 1000
      For w = 0 To UBound(WordSearched) - 1
       If InStr(LCase(Range("A" & no_Ligne).Value), WordSearched(w)) Then
        Range("C" & no_Ligne).Value = "HABILLAGE": Exit For
       End If
      Next w
     Next no_Ligne
    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

  6. #6
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Février 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    MERCI POUR CETTE SOLUTION JE VAIS TESTER

Discussions similaires

  1. Programme pour faire une connexion Http (HttpURLConnection)
    Par zakaria87 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 14/05/2010, 00h25
  2. Réponses: 7
    Dernier message: 21/08/2009, 15h38
  3. Programme pour faire un montage audio
    Par Tony-b dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 06/08/2008, 10h14
  4. Programme pour faire une installation
    Par Seth77 dans le forum EDI/Outils
    Réponses: 6
    Dernier message: 13/12/2006, 10h47
  5. Réponses: 1
    Dernier message: 07/09/2006, 10h03

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