Items pour selectionner tout une colonne

Signaler
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008
-
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
-
bnjour ,
jai une listbox avec des items (qui sont en fait les mots se trouvant sur les celulles de la 1ere ligne) , je voudrais faire en sorte que chaque item puisse définir tout la colonne la ou il existe ainsi si jai en a1 jai ALPHA et b1 BETA.....(alpha et beta sont les items) , jvdré sommer les elements de la colone a et b en recourant à alpha et beta .
jespere que cé comprehensible ce que je dis , et merci davance

14 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

perso, j'ai pas compris

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

ma feuille se presente comme suit :
               A         B        C
  1         alpha     beta
  2           3           4
  3           5            6

voila jai reussi a fre apparaitre alpha et beta ds ma listbox , maintenant jcherche un code apartir des items (alpha et beta ) jpuisse fre des operations sur la colonne commencant par alpha et celle par beta
par exple fre linversé de la matrice 3 4/5 6
...voila si qqlq1 peu maidé sur ce cou merci :)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
sert toi de l'index de la sélection de ta listbox pour travailler avec l'objet Cells (possibilité de faire des boucles)

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

euh peut tu etre un tt ptit peu plsu clair mortalino stp (a) jai comencé le vba la smaine derniere , si ta un truc sur cet index , jte serai reconnaissant ou un ptit exemple , par exemple si jveu fre la somme des deux colonnes
merci
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
bah en fait j'ai juste lancé l'idée comme ça mais c'est toi qui n'est pas très clair !
J'ai toujours pas compris ce que tu voulais faire. Sois s'il te plait plus explicite et n'hésite pas à donner un exemple

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

hmmm donc je vais essayer detre plus explicite voila , il sagi dun fichier ou ya plusieur colonnes chaque colone compren une action boursiere et ses cours (dans A on trouve par exple france telecom en A1 et les cours de france telecom de A2 juska la fin Ai..)
jai fé en sorte que cki existe dans la premiere ligne (cad A1 B1 C1 ki st des actions boursieres :frce telecom-elf-....) soient des items dune listbox , maintenant jveu calculer la covariance entre elf et france telecom ,(ou toute autre operation mathematik) donc fo ke jdiz a excel en language VBA , tu mchoisi la colone ki comnce par ELF et celle par frce telecom et tu me calcul covariance , jai une centaine dactions , donc ...
jesepere ke cé un ptit peu plus clair , merci davance mortalino
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Regarde l'item 3 ICI

Si toi, tu ne fais pas l'effort, moi non plus alors.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

je suis désolé si ma façon d'écrire ne repspecte pas les régles du forum , c'est que je voulais pas trop en mettre .encore désolé
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Avec ceci, tu devrais pouvoir trouver la colonne qui contient le texte sélectionné de ta listbox. Attention toutefois à la casse (ELF est différent de elf ou Elf)

    Dim Recherche As Range
   
    Set Recherche = Rows(1).Find(Listbox1.text)
    If Not Recherche Is Nothing Then
        MsgBox Recherche.Column  ' ici tu as trouvé la colonne
    End If

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

merci pour ta réponse ,
En fait je ne cherche pas que la colonne ,mais la trouver est aussi utilisable ,
donc j'ai une listbox avec des items (qui sont les nom de titres boursiers se trouvant dans ma 1ere ligne),
maintenant je cherche à tirer pour chaque titre son emlacement je sais qu'il est dans la ligne 1 mais pas dans quelle colonne , et aprés l'avoir trouver je voudrais dire au programme de prendre toute la colonne dont la 1ere case commence par le titre , tout ceci en boucle bien sur (vu que je connais pas le nombre exact des titres qui peuvent exister)

Exemple : ELF se trouve en W1 (chose que j'ignore) ,jai ELF comme item dans ma listbox le programme doit être capable de:
  1- trouver lemplacement de ELF (w1)
  2- selectionner tout la colonne w

et faire une opération , genre la copié , ou lajouter a la colonne V

voila , je sais que c'est un peu tordu ,je vous remercie d'avance.
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Avec ce que je t'ai donné, normalement tu règle le problème #1

Maintenant pour les données de la colonne ainsi trouvée, il faudrait savoir ce que tu veux en faire.

Pour connaître le nombre de ligne:
nbLignes = Cells(Rows.Count, Recherche.Column).End(xlUp).Row

Pour boucler cette colonne
For i = 2 to nbLignes
    '... ton code
Next

Pour copier les données de la colonne
Columns(Recheche.Row).Copy
ou
Range(Cells(recherche.Column, 2), Cells(Recherche.Column, nbLignes)).Copy

Tout dépend de ce que tu veux faire avec les données. Je ne peux pas t'aider pour les formules de covariance et ce genre de chose, mais la technique demeure la même avec les données. Il faut savoir les situer et je pense que tu as maintenat les façons d'y parvenir...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

oui je te remercie pour ton aide :)
Messages postés
9
Date d'inscription
lundi 26 mai 2008
Statut
Membre
Dernière intervention
20 juin 2008

bonjour,
voila j'ai écri le programme suivant :

rivate Sub CommandButton5_Click()
Dim Recherche As Range
   
    Set Recherche = Rows(1).Find(lb2.Text)
    'If Not Recherche Is Nothing Then
    'MsgBox Recherche.Column  ' ici tu as trouvé la colonne
    'End If


    nblignes = Cells(Rows.Count, Recherche.Column).End(xlUp).row
    
    For i = 1 To nblignes
Sheets("données").Select
Range(Cells(Recherche.Column, 1), Cells(Recherche.Column, nblignes)).Copy
    Sheets("feuil3").Select
    Range("a1").Select
    ActiveSheet.Paste
    Next
   
       
End Sub

normalement c'est censé prendre la colonne que j'ai cherché(et qui se trouve dans la feuille : données) et la copié dans la feuil3
sauf  c'est pas dutout ce qui se fait .


merci pour votre aide
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Si tu veux rechercher dans une autre feuille que la feuille active, tu dois spécifier son nom
Set Recherche = Sheets("données").Rows(1).Find(lb2.Text)

Et essaie d'éviter les Select quand tu peux
    Range("a1").Select
    ActiveSheet.Paste
devient
    Range("a1").Paste
ou
    Range("a1").PasteSpecial

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI