Problème Selction vba
Résolu
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?
Configuration: Windows XP Firefox 1.5.0.1
17 réponses
-
Ok c'est bon j'ai réussi a trouver la solution grâce a tes conseils. Merci beaucoup
-
Contributeurnon
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 -
Oui mais la le boolean prendra sa valeur en fonction de la valeur de la dernière colonne
-
ContributeurBon, 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 -
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
-
Contributeurdonc 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 -
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 -
ok ça marche mais je voudrai changer la valeur de la cellule sélectionnée avant qu'il fasse ça.
-
Contributeuroui 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 -
Le problème c'est que je doit utiliser des variables globales et ce code peut être dans le module?
-
Contributeurdans ce cas :
Range("A2:A2,b3:b3").Select 'ceci selectionnera la sellule A2 et b3 ;) -
non elles ne sont pas contigues
-
Contributeurce sont deux cellules contigues ou pas ??( ex A1 et A2 ou A1 et b12) ?
-
C'est vrai que je ne suis pas très precis :)
je voudrais sélectionner deux cellules dans la feuille active -
ContributeurAh 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 ??) -
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.
-
ContributeurBonjour
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 :)