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 :

Ajouter un code au début d'une chaine ou un mot de la chaine


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut Ajouter un code au début d'une chaine ou un mot de la chaine
    Bonjour,

    je suis débutante en VBA et j'ai besoin d'aide pour faire un petit programme :

    La problématique est la suivante : supposant qu'on a une feuille excel avec plusieurs colonnes (25 colonnes ) une des colonnes s'intitule "information", cette colonne contient une chaîne de caractères. (un ou plusieurd mot dans la chaine de caracteres)

    le but du programme est de parcourir tout les élément de cette colonne, et pour chaque chaîne de caractère bien connue on rajoute un code au début de cette chaîne de caractères.

    Exemple :
    Pour la chaîne de caractère " Ordinateur " on ajoute le Code U1
    Pour la chaîne de caractère " Ordinateur Portable " on ajoute le Code U1
    Pour la chaîne de caractère " ordinateur portable " on ajoute le Code U1
    Pour la chaîne de caractère " ordinateur de bureau "on ajoute le Code U1

    Pour la chaine de caractère " Souris " on ajoute le Code U2
    Pour la chaine de caractère " Souris fix " on ajoute le Code U2
    Pour la chaine de caractère " Souris sans fil" on ajoute le Code U2
    Pour la chaine de caractère " Souris en Or" on ajoute le Code U2
    Pour la chaine de caractère " Souris en ppf " on ajoute le Code U2

    Pour la chaine de caractère " ecran " on ajoute le Code U3
    Pour la chaine de caractère " ecran fix " on ajoute le Code U3
    Pour la chaine de caractère " Ecran sans fil" on ajoute le Code U3
    Pour la chaine de caractère " ecran en Or" on ajoute le Code U3
    Pour la chaine de caractère " Ecran en ppf " on ajoute le Code U3

    Vous avez remarquez il faut pas que ça soit sensible à la casse !! (ecran, Ecran )

    ##AVANT:

    Colonne1	Colonne2	Colonne3		Colonne4  .
      1		DG		Ordinateur  PORTABLE	1500
      2		DF		Souris			1300
      5		FG		Ecran			120 
      5		FG		Ecran plat		120 
      4		DF		PC			1000
      1		DG		Ordinateur		1500
      5		FG		Souris en Or		130
      1		DG		Ordinateur   fix	1500
      2		DF		Souris			1300
      1		DG		Ordinateur  de Bureau	1500
    ##APRES:

    Colonne1	Colonne2	Colonne3			Colonne4  .
      1		DG		U1 Ordinateur  PORTABLE		1500
      2		DF		U2 Souris			1300
      5		FG		U3 Ecran			120 
      5		FG		U3 Ecran plat			120 
      4		DF		PC				1000
      1		DG		U1 Ordinateur			1500
      5		FG		U2 Souris en Or			130
      1		DG		U1 Ordinateur   fix		1500
      2		DF		U2 Souris			1300
      1		DG		U1 Ordinateur  de Bureau	1500
    sur la piece jointe vous trouverez un exemple sur la feuille résultat.

    Merci d'avance !!
    Fichiers attachés Fichiers attachés

  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 : 69
    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
    Pourquoi un autre sujet, alors que tu as déjà décrété que le sujet est résolu ?

  3. #3
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    Merci pour ta reponse ! mais c'est pas la meme chose !! la solution proposer ne prends pas en compte les chaines de caracteres avec plusieurs mot regarde l'exemple que j'ai donné tu vas comprendre !

    Exemple :
    Pour la chaîne de caractère " Ordinateur " on ajoute le Code U1
    Pour la chaîne de caractère " Ordinateur Portable " on ajoute le Code U1
    Pour la chaîne de caractère " ordinateur portable " on ajoute le Code U1
    Pour la chaîne de caractère " ordinateur de bureau "on ajoute le Code U1

    Pour la chaine de caractère " Souris " on ajoute le Code U2
    Pour la chaine de caractère " Souris fix " on ajoute le Code U2
    Pour la chaine de caractère " Souris sans fil" on ajoute le Code U2
    Pour la chaine de caractère " Souris en Or" on ajoute le Code U2
    Pour la chaine de caractère " Souris en ppf " on ajoute le Code U2

    Pour la chaine de caractère " ecran " on ajoute le Code U3
    Pour la chaine de caractère " ecran fix " on ajoute le Code U3
    Pour la chaine de caractère " Ecran sans fil" on ajoute le Code U3
    Pour la chaine de caractère " ecran en Or" on ajoute le Code U3
    Pour la chaine de caractère " Ecran en ppf " on ajoute le Code U3

    Vous avez remarquez il faut pas que ça soit sensible à la casse !! (ecran, Ecran )

    ##AVANT:

    Colonne1 Colonne2 Colonne3 Colonne4 .
    1 DG Ordinateur PORTABLE 1500
    2 DF Souris 1300
    5 FG Ecran 120
    5 FG Ecran plat 120
    4 DF PC 1000
    1 DG Ordinateur 1500
    5 FG Souris en Or 130
    1 DG Ordinateur fix 1500
    2 DF Souris 1300
    1 DG Ordinateur de Bureau 1500

    ##APRES:

    Colonne1 Colonne2 Colonne3 Colonne4 .
    1 DG U1 Ordinateur PORTABLE 1500
    2 DF U2 Souris 1300
    5 FG U3 Ecran 120
    5 FG U3 Ecran plat 120
    4 DF PC 1000
    1 DG U1 Ordinateur 1500
    5 FG U2 Souris en Or 130
    1 DG U1 Ordinateur fix 1500
    2 DF U2 Souris 1300
    1 DG U1 Ordinateur de Bureau 1500

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ah ben..... Il aurait fallut le préciser dès le départ dans ton topic précédent.
    Pas besoin d'en ouvrir un autre

    Parce du coup ceci :
    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
    Sub t()
        Dim rg As Range
        Dim dict As Object
        Set dict = CreateObject("Scripting.Dictionary")
     
        Sheets(2).Activate
        Set rg = Range("A1", [A:A].End(xlDown))
        For Each cel In rg
            cel.Select
            dict.Add UCase(cel.Value), cel.Offset(0, 1).Value
        Next
     
        Sheets(1).Activate
        Set rg = Sheets(1).Range("C1", [C:C].End(xlDown))
     
        For Each cel In rg.Cells
            Dim txt As String
            txt = UCase(Split(cel.Value)(0))
            If dict.Exists(txt) Then cel.Value = dict(txt) & " " & cel.Value
        Next
    End Sub

  5. #5
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Avril 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 7
    Par défaut
    c'est vrai ! j'aurai du chui bete

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Regarde mon post précédent

Discussions similaires

  1. Rechercher une chaine et ajouter un code au début de la chaine !
    Par florence.amaddine dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/04/2016, 13h18
  2. [XL-2007] Ajouter un code au module d'une feuille
    Par m@tix dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/03/2012, 01h08
  3. Ajouter des caractères au début d'une variable
    Par Roud9 dans le forum Linux
    Réponses: 5
    Dernier message: 26/02/2012, 19h14
  4. Réponses: 2
    Dernier message: 03/10/2008, 13h50
  5. Ajouter des caractères au milieu d'une chaine
    Par sam.fet dans le forum Linux
    Réponses: 9
    Dernier message: 17/08/2006, 12h19

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