sélectionner automatiquement, des cellules dans excel.....

jcf83

Nouveau membre
bonjour à tous, j'ai besoin d'un peu d'aide alors je viens faire appel à plus érudi que moi ;)

Merci d'avance

Voilà mon problème : sous Excel, après avoir ouvert une fenêtre vbasic comportant entre autres deux texbox,
Je voudrais pouvoir sélectionner automatiquement deux plages de cellules, sur deux lignes différentes, en renseignant uniquement leurs numéros de ligne dans ces deux texbox :


exemple :
En indiquant 10 dans un premier texbox et 12 dans un autre, je voudrai que les plages des cellules a1:a4 (toujours les mêmes) soit sélectionnées dans les lignes 10 et 12.
 

jcf83

Nouveau membre
Utilise le macro recorder pour avoir une idée de la syntaxe et adapte
Merci de ta réponse, mais je ne vois pas comment enregistrer une macro dans mon cas, sélectionner une ligne pré déterminée, je sais faire (ou je crois savoir...) : je lance l'enregistrement auto, clique sur l'entête d'une ligne et vais voir le code vbasic qu'il m'a généré, mais c'est exactement l'inverse que je veux faire, c'est à dire renseigner manuellement un numéro de ligne et avoir en retour ma ligne sélectionnée.
 

zeb

Modérateur
une fenêtre vbasic
Tu veux dire un UserForm ?

Quelle est l'action devant déclencher la sélection ?
Le remplissage des Textbox (pas bonne idée :( ) l'appui sur un bouton (bonne idée)
 

jcf83

Nouveau membre
une fenêtre vbasic
Tu veux dire un UserForm ?

Quelle est l'action devant déclencher la sélection ?
Le remplissage des Textbox (pas bonne idée :( ) l'appui sur un bouton (bonne idée)
Oui, l'action déclenchant doit être le clic sur un bouton à coté du textbox sur un userform :

Je tape par exemple "12" dans le textbox, valide par le clic sur un bouton "Ok" et la ligne "12" sur mon tableur Excel se sélectionne, rien de plus simple.......... mais pas pour moi
:)
 

jcf83

Nouveau membre
Tu dis à Kiki :
sélectionner une ligne pré déterminée, je sais faire
Comment fais-tu ?
Ben par exemple pour sélectionner la ligne 30, j'écris ===> rows ("30:30")
mais ça c'est pour sélectionner comme je l'ai écrit, une ligne pré déterminé... :(

j'ai fait une image de ce que je cherche à faire :
 

zeb

Modérateur
:/
Je ne sais pas quoi te dire.

rows ("30:30") ne sélectionne pas une ligne mais référence la ligne 30 :o

Tu sais réfénrencer la ligne 30. Et tu ne sais pas le faire pour la ligne n !

Dans la méthode Click de ton bouton, tu mets [fixed]rows(Textbox1.Text & ":" & Textbox1.Text)[/fixed]
C'est ça que tu voulais ?
 

jcf83

Nouveau membre
Dans la méthode Click de ton bouton, tu mets [fixed]rows(Textbox1.Text & ":" & Textbox1.Text)[/fixed]
C'est ça que tu voulais ?
Je vais essayer, je te dirai si c'est ok, je te remercie !
 

jcf83

Nouveau membre
C'est ça que tu voulais ?
Super !
Ton code fonctionne à merveille ! :merci: Mais comme je ne suis jamais simple, j'ai voulu améliorer mon application, et bien sur, je bloque encore.... :(
Si tu as encore un petit moment à m'accorder.... :whistle:
1/je voudrai pouvoir sélectionner non plus une ligne, mais deux, non contigues (par exemple la 12 et la 20), en utilisant donc deux texbox, validées par un seul bouton, j'ai essayé d'adapter ton code, mais je n'y arrive pas.....
Voilà ce que j'ai essayé,(après avoir comparé le code enregistré avec l'enregistreur auto...) mais ces codes ne fonctionnent pas :


Rows((texBox1.Text & ":" & texBox1.Text), (texBox2.Text & ":" & texBox2.Text)).Select

Rows(texBox1.Text & ":" & texBox1.Text,texBox2.Text & ":" & texBox2.Text).Select


2/Toujours sur le même principe d'un texbox dans lequel je tape un numéro de ligne, je voudrai pouvoir sélectionner uniquement les cellules M,N,O et P de cette ligne.
 

zeb

Modérateur
Il faut que tu comprennes ce que tu fais. Et donc te renseigner sur ce qu'attendent les fonctions que tu utilises. Pour cela, n'hésite pas à consulter l'aide de VBA. (Touche F1 sur le mot qui t'intéresse)

Sais-tu ce que renvoie texBox1.Text & ":" & texBox1.Text ?
Pour en avoir le coeur net, écris cette petite macro :
Code:
Sub Test
  MsgBox texBox1.Text & ":" & texBox1.Text
End Sub

Démarre l'enregistreur de macro et sélectionne deux lignes. Arrête l'enregistreur et va vois le code généré. Ensuite tu généraliseras avec tes deux TextBoxes.

Pour ne sélectionner que les colonnes M,N,O et P, toujours pareil ....
Enregistreur de Macro, sélection à la souris de M1, N1, O1, P1, M2, N2, O2 et P2. Puis observation et compréhension du code généré. Il te reste à adapter. (Tu vois que le conseil de Kiki était le bon).

Si vraiment tu sèches, reposte un message ;)
 

jcf83

Nouveau membre
Il faut que tu comprennes ce que tu fais. Et donc te renseigner sur ce qu'attendent les fonctions que tu utilises. Pour cela, n'hésite pas à consulter l'aide de VBA. (Touche F1 sur le mot qui t'intéresse)
Sais-tu ce que renvoie texBox1.Text & ":" & texBox1.Text ?
Pour en avoir le coeur net, écris cette petite macro :
Code:
Sub Test
  MsgBox texBox1.Text & ":" & texBox1.Text
End Sub
Si vraiment tu sèches, reposte un message ;)
Merci, tes expliquations m'ont bien servies à comprendre, ma petite appli évolue doucement, c'est super :bounce: !
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 132
Messages
6 718 000
Membres
1 586 387
Dernier membre
ouistititouille
Partager cette page
Haut