Sélectionner des plages rapidement

karinette

XLDnaute Occasionnel
Bonjour à tous,
J'essaye en vain de pouvoir rapidement sélectionner une plage de cellule par macro, avec 2 simples clicks.
Je m'explique, j'ai un tableau rempli de données que je doit copier pour mettre dans un autre classeur.
J'aimerais, si c'est possible, cliquer par exemple sur la cellule A3, et une deuxième fois sur la cellule A235, ce qui aurait pour effet de sélectionner les lignes A3:A235 ...
J'ai beau chercher ... Impossible de trouver une macro qui ressemblerait à ça ... Peut être pas possible ... :(
L'idée étant de faire un premier click (sélection de la ligne) ... Pouvoir dérouler le tableau jusqu'à une autre ligne, et par le deuxième click, sélectionner toute la plage ...
J'espère avoir été claire :eek:
Merci d'avance aux experts ...
 

Staple1600

XLDnaute Barbatruc
Re : Sélectionner des plages rapidement

Re

Je parlais pour toi (lol) ;)
A savoir consulter l'aide VBA pour comprendre la syntaxe de Application.InputBox

Essaies cet exemple pour comprendre de quoi je parle.
Dans l'inputBox qui apparaîtra, tu peux sélectionner les cellules de ton choix avec la souris.
Code:
Sub ExempleInputBox()
'code de pierrejean
Dim Plage As Range
With Selection
DéfautSelect = Selection.Address
End With
On Error Resume Next
Set Plage = Application.InputBox("Sélectionnez une plage !" & Chr(10) & _
"Ou sélection actuelle (Défaut) ?", "Inversion itinéraire", DéfautSelect, Left:=10, Top:=100, Type:=8)
If Err.Number <> 0 Then
  MsgBox "Sélection annulée"
End If
On Error GoTo 0
End Sub
 

karinette

XLDnaute Occasionnel
Re : Sélectionner des plages rapidement

Je comprend (à peu près) le principe ... Mais (je sais je suis pénible :eek:), par cette méthode, je dois sélectionner mes cellules en glissant ... L'idéale aurait été de le faire en 2 clicks .... Mais toutefois, c'est déjà mieux ... Par contre, comment atribuer une fonction du type "Selection.Copy" au bouton OK ... Excusez mon peu de connaissance ... :eek:
 

Staple1600

XLDnaute Barbatruc
Re : Sélectionner des plages rapidement

Re


Essaies comme ceci alors
Code:
Sub ExempleInputBoxII()
'code de pierrejean
Dim Plage As Range, Acopier$
With Selection
DéfautSelect = Selection.Address
End With
On Error Resume Next
Set Plage = Application.InputBox("Sélectionnez une plage !" & Chr(10) & _
"Ou sélection actuelle (Défaut) ?", "Inversion itinéraire", DéfautSelect, Left:=10, Top:=100, Type:=8)
Plage.Select
Selection.Copy Sheets(2).Range("A2")
If Err.Number <> 0 Then
  MsgBox "Sélection annulée"
End If
On Error GoTo 0
End Sub
 

Regueiro

XLDnaute Impliqué
Re : Sélectionner des plages rapidement

Bonsoir à tous.
Une variante avec double-click

HTML:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Cible As Range
If Target.Address = "$A$3" And Target.Count = 1 Then
Range("A3", [A3].End(xlDown)).EntireRow.Select
Set Cible = Application.InputBox("Choisir la feuille et la ligne", Type:=8)
Selection.Copy Cible
Application.CutCopyMode = False
End If
End Sub
Code à mettre dans la feuille concernée.

Bonne soirée.
A+
 

Staple1600

XLDnaute Barbatruc
Re : Sélectionner des plages rapidement

Bonsoir Regueiro

Pas mal l'idée du double-clic ;)

Ton code fonctionne ( à condition les cellules dans la sélection soient contiguës)
Et il plante si tu sélectionnes une feuille sans sélectionner de ligne ou si tu cliques sur Annuler.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 519
dernier inscrit
Thomas_grc11