Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sélection en fonction du chiffre d'une cellule

9 réponses
Avatar
Ceno
Bonsoir =E0 tous,

Je cherche =E0 faire une s=E9lection automatique en fonction du r=E9sultat
de A1 qui indique le nombre de ligne =E0 s=E9lectionner.

SI en A1 j'ai 3254, je voudrais avoir ma s=E9lection de B1 =E0 L3254 et
Si en A1 j ai 8452, je voudrais avoir ma s=E9lection de B1 =E0 L8452 .....

Sachant que A1 change, sinon j'aurais fait simple bien sur

Est-ce possible et si oui comment dois je faire ?

Par avance MERCI

9 réponses

Avatar
garnote
Bonsoir,

Est-ce que cette macro te convient ?

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" And Target.Count = 1 Then _
Range("B1:L" & Target).Select
End Sub


Serge



"Ceno" a écrit dans le message de news:

Bonsoir à tous,

Je cherche à faire une sélection automatique en fonction du résultat
de A1 qui indique le nombre de ligne à sélectionner.

SI en A1 j'ai 3254, je voudrais avoir ma sélection de B1 à L3254 et
Si en A1 j ai 8452, je voudrais avoir ma sélection de B1 à L8452 .....

Sachant que A1 change, sinon j'aurais fait simple bien sur

Est-ce possible et si oui comment dois je faire ?

Par avance MERCI
Avatar
Ceno
je te remercie pour ta réponse, mais je ne comprends pas je dois
écrire ce code dans un module de vb c'est bien ça ?
Avatar
michdenis
Un clic droit sur l'onglet de la feuille où l'action se déroule,
sélectionne la commande "Visualiser le code"

et tu colles le code suivant dans la grande page blanche


Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" And Target.Count = 1 Then
if isnumeric(target) then
if target > 0 then
Range("B1:L" & Target).Select
end if
end if
end if
End Sub




"Ceno" a écrit dans le message de news:

je te remercie pour ta réponse, mais je ne comprends pas je dois
écrire ce code dans un module de vb c'est bien ça ?
Avatar
Ceno
Bonsoir michdenis et merci de me répondre, mais je ne comprends
comment je fais pour déclencher cette macro ensuite ????

Encore merci.

Cédric
Avatar
michdenis
Dès que tu modifIeras la valeur de la cellule A1 en TAPANT
la nouvelle donnée dans la feuille, la macro se déclenchera
toute seule.


"Ceno" a écrit dans le message de news:

Bonsoir michdenis et merci de me répondre, mais je ne comprends
comment je fais pour déclencher cette macro ensuite ????

Encore merci.

Cédric
Avatar
michdenis
SI a1 contient une formule, si le résultat de la formule
cela sera aussi suffisant pour lancer la procédure événementielle.


"Ceno" a écrit dans le message de news:

Bonsoir michdenis et merci de me répondre, mais je ne comprends
comment je fais pour déclencher cette macro ensuite ????

Encore merci.

Cédric
Avatar
Ceno
Bonjour Michdenis,

Et merci, cela fonctionne bien si je change la valeur de A1, mais avec
une formule en A1 qui fait A2+A3, le total se met en A1 mais n'exécute
pas la macro, que dois-je faire encore merci.

Cédric
Avatar
michdenis
Oui, tu as raison, cela dépend des versions.
dans la version Excel 2003 et 2007, l'événement
est déclenché même si la cellule A1 contient une
formule mais ce n'est pas vrai pour toutes les versions!

Tu peux remplacer par ceci :

Tu remplaces le code du message précédent par ceci
que tu places au même endroit.
'-------------------------------------------------
Private Sub Worksheet_Calculate()
With Range("A1")
ww = [toto]
If [toto] <> .Value Then
If IsNumeric(.Value) Then
If .Value > 0 Then
Range("B1:L" & .Value).Select
End If
End If
End If
End With
Names.Add "toto", Range("A1").Value, False
End Sub
'-------------------------------------------------

Tu vas devoir ajouter ceci dans l'objet "ThisWorkbook"
de ton classeur. Tu le trouveras dans la fenêtre de l'éditeur
de code dans l'arborescence de la section VBAproject(NomDuClasseur)
tu double-cliques sur le ThisWorkbook et dans la page blanche tu copies
le code suivant :
'------------------------------------------------
Private Sub Workbook_Open()
Names.Add "toto", Range("A1").Value, False
End Sub
'------------------------------------------------

Ferme ton classeur en l'enregistrement et à sa ré-ouverture ce que tu veux
devrait fonctionner !



"Ceno" a écrit dans le message de news:

Bonjour Michdenis,

Et merci, cela fonctionne bien si je change la valeur de A1, mais avec
une formule en A1 qui fait A2+A3, le total se met en A1 mais n'exécute
pas la macro, que dois-je faire encore merci.

Cédric
Avatar
Ceno
Ok merci trop bien, ça marche super, je suis trop heureux, merci pour
tout.