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
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?
Je voudrais selectionner une cellule automatiquement après un SelectionChange, es ce possible?
A voir également:
- Problème Selction vba
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Vba range avec variable ✓ - Forum VB / VBA
- Vba autofill ✓ - Forum Excel
17 réponses
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 08:58
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 :)
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 :)
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
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.
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 09:23
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 ??)
donc tu est dans un module, et tu veux sélectionner une cellule (ou plusieurs ??) d'une feuille (ou de la feuille active ??)
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
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
je voudrais sélectionner deux cellules dans la feuille active
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 09:33
28 juil. 2009 à 09:33
ce sont deux cellules contigues ou pas ??( ex A1 et A2 ou A1 et b12) ?
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
28 juil. 2009 à 09:37
non elles ne sont pas contigues
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 09:45
28 juil. 2009 à 09:45
dans ce cas :
Range("A2:A2,b3:b3").Select 'ceci selectionnera la sellule A2 et b3 ;)
Range("A2:A2,b3:b3").Select 'ceci selectionnera la sellule A2 et b3 ;)
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
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?
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 09:55
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
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
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
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.
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
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
Merci quand même. Bonne continuation
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 10:24
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
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
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
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
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 10:45
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
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
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
28 juil. 2009 à 10:58
Oui mais la le boolean prendra sa valeur en fonction de la valeur de la dernière colonne
jjsteing
Messages postés
1670
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
28 juil. 2009 à 11:07
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
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
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
28 juil. 2009 à 11:14
Ok c'est bon j'ai réussi a trouver la solution grâce a tes conseils. Merci beaucoup