[Catégorie modifiée VB6 -> VBA] VBA - Excel

Signaler
Messages postés
11
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
13 mai 2011
-
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
-
Bonjour,

Dans ma découverte de VBA. Je suis en train d'écrire un programme pour une tâche que je réalise tous les jours. Mais je suis coincer sur la dernière partie de cette tâche. Ci-dessous mon pb :

Je souhaite insérer un nouvelle colonne en fonction de la règle ci-dessous :

Exemple :

Vous avez 3 colonnes : A et B sont la BDD pour obtenir le résultat en C.

Colonne A Colonne B Colonne C
X1 PARIS Formule ou programme : ? R = 1
X1 PARIS Formule ou programme : ? R = 1
X1 PARIS Formule ou programme : ? R = 1


X2 PARIS Formule ou programme : ? R = 2
X2 ST ETIENNE Formule ou programme : ? R = 2
X2 PARIS Formule ou programme : ? R = 2

X3 PARIS Formule ou programme : ? R = 3
X3 MARSEILLE Formule ou programme : ? R = 3
X3 BORDEAUX Formule ou programme : ? R = 3

Dans l'attente de vos réponses.

Cdt
Olisharq

8 réponses

Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Trop flous pour moi stp donne un exemple numérique.
Messages postés
672
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 juin 2016
1
Bonjour
C'est incompréhensible.
Peux tu écrire un exempla de tes colonnes A ,B , et C sur 3 lignes
On ne comprend pas ou ne vois pas la règle: est-ce un oubli?
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut

D'après ce que j'en comprends, il suffit d'isoler le 2ème caractère, à côté du X
Ceci devrait suffire :
=STXT(A1;2;1)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
11
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
13 mai 2011

VILLE Code mission Statut

LAGNY LE SEC 36020110330028
LAGNY LE SEC 36020110330028
ST OUEN L AUMONE 36020110330028
LAGNY LE SEC 36020110330028

LAGNY LE SEC 36020110330030
ST OUEN L AUMONE 36020110330030
ST OUEN L AUMONE 36020110330030

LAGNY LE SEC 36020110330036
LAGNY LE SEC 36020110330036
LAGNY LE SEC 36020110330036
LAGNY LE SEC 36020110330036

LAGNY LE SEC 36020110330040
ST OUEN L AUMONE 36020110330040
ST OUEN L AUMONE 36020110330040
ST OUEN L AUMONE 36020110330040

Et je voudrais que mon programme me dise :


La mission 36020110330028 contient 2 ville différente. Je lui donnerai le statut "MULTIPICK".
La mission 36020110330030 contient 2 ville différente. Je lui donnerai le statut "MULTIPICK".
La mission 36020110330036 contient 1 ville. Je lui donnerai le statut "DIRECT"

Grâce à ça je pourrais établir un état des Missions "MULTIPICK"


J'espère avoir été plus clair.

Je me tiens à votre disposition.

Cdt

Olisharq
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
C bien plus claire

Question "LAGNY LE SEC 36020110330028" sont bien réparti dans deux colonnes différente? Exemple A1 "LAGNY LE SEC" et B1 "36020110330028"

Suis pas un expert de VBA (Suis plutôt VB) mais il me semble qu'il y a une fonction find qui peut faire cela ?
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
Il te faut un code du style
For Each Cell In Ws.Range("B1:B10")
  Select Cell.Value
          Case 36020110330028 
             variable = variable +1
          case 36020110330030 
             variable = variable +1 
          case 36020110330031
              variable = variable +1
          ... etc 
   End Select
Next Cell
Messages postés
11
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
13 mai 2011

Merci !
Messages postés
781
Date d'inscription
lundi 22 janvier 2007
Statut
Membre
Dernière intervention
30 octobre 2013
3
2rien dis moi si ta réussi(ferme le cas)