Problème Selction vba

Résolu/Fermé
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 - 28 juil. 2009 à 08:51
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 - 28 juil. 2009 à 11:14
Bonjour,

Je voudrais selectionner une cellule automatiquement après un SelectionChange, es ce possible?

17 réponses

jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 08:58
Bonjour

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(2, 5).Activate ' cells(ligne,colonne)

End Sub

j'espere que ca ré^ponsd à ta question :)
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 09:21
En faite je fais ça mais a l'intérieur une fonction dans un module car elle prend en compte des variables globales. Et ça ne marche pas.
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 09:23
Ah ben si tu dis pas tout aussi ;)

donc tu est dans un module, et tu veux sélectionner une cellule (ou plusieurs ??) d'une feuille (ou de la feuille active ??)
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 09:28
C'est vrai que je ne suis pas très precis :)

je voudrais sélectionner deux cellules dans la feuille active
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 09:33
ce sont deux cellules contigues ou pas ??( ex A1 et A2 ou A1 et b12) ?
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 09:37
non elles ne sont pas contigues
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 09:45
dans ce cas :

Range("A2:A2,b3:b3").Select 'ceci selectionnera la sellule A2 et b3 ;)
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 09:51
Le problème c'est que je doit utiliser des variables globales et ce code peut être dans le module?
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 09:55
oui il peut :

ex
public Var1,Var2

sub Masub1()

Var1="A2"
Var2="B3"
MaSub2

end sub

sub MaSub2()

Range(Var1 & ":" & Var1 & "," & Var2 & ":"& Var2).Select
'=>Range("A2:A2,b3:b3").Select

end sub
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 10:08
ok ça marche mais je voudrai changer la valeur de la cellule sélectionnée avant qu'il fasse ça.
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 10:23
C'est bon en faite j'ai stocké les valeurs dans deux variables a la fin de ma fonction, et j'active la cellule avec les anciennes variables.

Merci quand même. Bonne continuation
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 10:24
donc si je comprend tout...

en a2 on a 3 par ex

l'utilisateur selectionne A4 et tu voudrais changer A2 en 4 par ex et selectionner A6 et b12 ?? bon, j vois pas trop pourquoi mais bon :

dans SelectionChange:

cells(2,1)=4
Range("A6:A6,b12:b12").Select

je pense que ca peut t aider aussi.. (toujours dans le selction_change)
ceci pour savoir quel cellule l'utilisateur à sélectionner : Target.AddressLocal
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 10:31
En faite j'ai 4 cellules (A1 B1 C1 D1), les quatres doivent être rempli pour pouvoir déprotégé la cellule E1, donc je doit vérifier après chaque changement de variable, et le problème c'est que je n'est pas qu'une ligne
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 10:45
Bon, on y arrive :p Faut TOUT me dire.. :)
Je suppose que tu sait comment déprtéger et reprotéger en vba

dans selection_change :

CellEnCours = Target.AddressLocal
LigneEnCours = Right(CellEnCours, 1)

OnPeutPasEcrire = False
For NumCol = 1 To 4
If Cells(LigneEnCours, NumCol) = "" Then OnPeutPasEcrire = True
Next
If OnPeutPasEcrire Then
Cells(LigneEnCours, 5) = "Protect"
'ici ton code pour proteger
Else
Cells(LigneEnCours, 5) = "ok"

'ici ton code pour pour E
End If
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 10:58
Oui mais la le boolean prendra sa valeur en fonction de la valeur de la dernière colonne
0
jjsteing Messages postés 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 11:07
non

OnPeutPasEcrire = False 'donc on peut ecrire...
For NumCol = 1 To 4
If Cells(LigneEnCours, NumCol) = "" Then OnPeutPasEcrire = True ' si au moins 1 fois ca vaut "" alors à la fin OnPeutPasEcrire =true vu que je fais rien si c'est différent de ""
Next
0
Pantxo1986 Messages postés 64 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 6 août 2009 1
28 juil. 2009 à 11:14
Ok c'est bon j'ai réussi a trouver la solution grâce a tes conseils. Merci beaucoup
0