petite question pour programmer sous VB - VB/VBA/VBS - Programmation
Marsh Posté le 28-02-2006 à 21:17:50
Salut,
Je ne suis pas sûr d'avoir tout compris, mais si tu veux donner un code numérique à chaque ville, tu peux faire ceci :
|
Dans cet exemple, la macro donne un code en colonne B selon la ville trouvée en colonne A.
C'est bien ce que tu veux ?
A+
Horatio
Marsh Posté le 01-03-2006 à 10:25:29
Lord Nelson a écrit : Salut,
|
ouai sauf que je ne saurais pas à l'avance quel sera le nom des villes il faudrait que le pgme puisse reconnaitre les cases avec le même nom de ville? C'est possible??
Marsh Posté le 01-03-2006 à 11:15:21
bonjour,
ça serait bien que tu fasses un effort pour expliquer ton problème.
Un problème bien posé est un problème à moitié résolu.
Et si en plus il y a un petit classeur joint alors là c'est le top.
Un problème vaguement posé à peu de chance d'obtenir une solution.
Relis-toi et met toi un peu à notre place...
Sinon j'ai une commande qui fait PARIS-LYON en 2h30 environ :
=TGV(SNCF)
A+
Marsh Posté le 01-03-2006 à 11:45:54
mais tu sais galopin01 si tu comprends pas tu reponds et basta!!!
Marsh Posté le 01-03-2006 à 11:46:26
mais tu sais galopin01 si tu comprends pas tu reponds pas et basta!!!
Marsh Posté le 01-03-2006 à 11:56:04
Salut Galopin et Lala,
D'accord avec toi Galopin, il faut que Lala fasse un effort d'explication :
Veux-tu compter tous les "paris" ou bien leur affecter un code ?
A+
Horatio
Marsh Posté le 01-03-2006 à 13:13:56
Salut,
Bon alors désolé d'être aussi peu clair jvais essayer d'être plus clair!
En fait je voudrais que mon programme puisse reconnaitre toute les cellules contenant le même mot jai pris paris, lyon... pour exemple mais les utilisateurs du programme pourront entrer le nom qu'ils veulent pour caractériser une cellule, le but ce serait que mon pgme puisse selectionner toutes les cellules contenant le même mot et ce quelque soit les mots utilisés.En gros il faut que mon pgme puisse reconnaitre tous les cellules contenant les mêmes caractères.
Est ce possible?
Merci!
Marsh Posté le 01-03-2006 à 14:02:10
bonjour,
tu peux partir de là :
Code :
|
Après faut voir...
Faire une sélection d'après des Address en Array, ç'est sans doute possible mais c'est plus cher !
A+
Marsh Posté le 01-03-2006 à 14:05:46
Alors voici une procédure qui te permettra de lister les mots uniques dans ta liste :
|
Dans cet exemple la liste "Villes" est un tableau qui contient tous les noms des villes sans doublons. Cette liste apparaît en colonne B mais tu peux également t'en servir pour créer une liste déroulante.
A+
Horatio
Marsh Posté le 02-03-2006 à 11:14:06
Salut,
voici ce que je te propose.
On va placer les valeurs dans un tableau à deux dimensions (Ville, somme des valeurs)
ensuite, on colle le tableau dans une feuille.
Ca donne ça :
Sub Liste_Villes()
Dim CL As Range
Dim mytab()
Dim i As Integer
Dim fin As Integer
Dim found As Boolean 'variable de control des entrées du tableau
ReDim Preserve mytab(1 To 2, 1 To 1) ' tableau a 2 dimension ( ville, somme )
Feuil4.Activate
fin = Range("a65536" ).End(xlUp).Row 'dernière ligne utilisée
For Each CL In ActiveSheet.Range("A1:A" & fin) ' pour chaque cellule
For j = 1 To UBound(mytab, 2) 'pour chaque entrée du tableau (villes)
found = False ' on mets faux pour dire que CL n'est pas dans le tableau
If mytab(1, j) = CL.Value Then ' si on trouve CL dans le tableau
mytab(2, j) = mytab(2, j) + CL.Offset(0, 1).Value ' on rajoute la valeur à celle existante
found = True 'on dit qu'on a trouver
Exit For 'on sort de la boucle
End If
Next
If Not found Then 'si on a pas trouver CL dans le tableau
i = i + 1 'on incrémente le conteur de ville
ReDim Preserve mytab(1 To 2, 1 To i) 'on rajoute un ligne au tableau
mytab(1, i) = CL.Value ' on colle le nom de la ville dans la première colonne
mytab(2, i) = CL.Offset(0, 1).Value ' et la valeur correspondante dans la deuxième
End If
Next ' on passe à la ligne suivante
Sheets("Feuil1" ).Activate
Sheets("Feuil1" ).Range("a1:b" & i) = Application.WorksheetFunction.Transpose(mytab) ' on colle Mytab dans la feuille Feuil1
Sheets("Feuil1" ).Range("a1:b" & i).Sort Key1:=Range("A1" ), Order1:=xlAscending ' on tri notre tableau
End Sub
Voilà, à toi de changer les noms de feuille pour que ça tourne chez toi.
+++++
Marsh Posté le 28-02-2006 à 17:36:38
comment fait on sous VB pour appeler toutes les cellules se référant au même nom
si jai 100 cellules dont plusieurs dont le nom est paris et que je veux selectionner le chiffre associé à toutes les cellules dont le nom est paris
ex
paris 2
lyon 1
brest 6
paris 4
lyon 4
et je voudrais une commande qui fasse paris=6 et lyon=5???
Si qqun a une idée ca m'aiderait beaucoup!!!
merci davance