Ctrl maj espace

Bonjour,

Je souhaite traduire sur Excel la fonction CTRL+MAJ+ESPACE en VBA, pourriez-vous m'aider svp ...

Merci d'avance

Salut,

La traduction est :

Cells.Select

Cordialement.

Bonjour,

Il vous suffit d'utiliser l'enregistreur de macro et d'exécuter la suite de touches et de fermer la macro. Vous aurez le résultat dans la macro.

Salut,

Je me réfère à ta réponse en privé.

Un proverbe dit : Si tu donnes un poisson à quelqu'un, il mangera un jour. Si tu lui apprends à pêcher, il mangera jusqu'à la fin de sa vie.

Dans nos réponses ci-dessus, je t'ai offert un poisson à te mettre sous la dent immédiatement et Eric t'a appris à pêcher.

Voici l'enregistrement d'une macro en cliquant CTRL+MAJ+ESPACE :

Sub Macro1()
'
' Macro1 Macro
'

'
    Cells.Select
End Sub

Mon code n'est que l'épurement de cet enregistrement.

Bon appétit

Hello,

Merci pour vos réponse mais ce n'est pas ce que je cherche …

Je ne veut pas la totalité des cellules du fichier mais seulement jusqu'à la limite "cellule vide"

gg
gg

Exemple ici je ne veut prendre que ces 4 cellules grâce à la manip CTRL + MAJ + ESPACE.

L'idée de l'enregistrement de macro n'est pas bête, mais cela ne me traduit pas ma demande.

Avec plusieurs recherche je n'ai pas trouvé la solution, qui m'est pour moi inexistante.

Quand l'appât vaut plus cher que le poisson, il vaut mieux arrêter de pêcher

Si les cellules sont contigües

Sub Test()

Dim LigneDebut As Long, ColonneFin As Long

    With Cells.SpecialCells(xlCellTypeLastCell)
         LigneDebut = .Row
         ColonneFin = .Column
    End With
    Cells(LigneDebut, ColonneFin).CurrentRegion.Select

    MsgBox Selection.Address

End Sub

Ou alors tout simplement :

Sub Selection()
    ActiveSheet.UsedRange.Select
End Sub

Bonjour Yvouille,

C'est beaucoup mieux...

Bonjour messieurs,

Yvouille ta macro est identique à cells.select

Eric c'est pas tout a fait sa mais on se rapproche ! Prenons l'exemple de mon tableau d'exemple précedent, en les numérotant g1 g2 g3 g4, la macro ressemblerais à peu près à ça :

Sub

Cells.Find(What:="g1", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate

CTRL + MAJ + ESPACE

Selection.copy

Décidément ce poisson ...

Sub TestAireASelectionner()

    AireASelectionner "g1"
    MsgBox Selection.Address

End Sub
Sub AireASelectionner(ByVal Contenu As String)

Dim Cellule As Range

    Set Cellule = Cells.Find(What:=Contenu, After:=ActiveCell, _
    LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
    If Not Cellule Is Nothing Then
       Cellule.CurrentRegion.Select
    End If
    Set Cellule = Nothing

End Sub

IN-CRO-YA-BLE !!! Depuis des semaines je cherche et j'ai fini par abandonner...

La réussite, c'est d'abord et surtout d'être au travail quand les autres vont à la pêche.

Sujet résolu

A travailler depuis des semaines, ça fait cher le poisson...

Bonjour,

Yvouille ta macro est identique à cells.select

Je suis un peu surpris de cette affirmation. Dans le fichier ci-joint, j'ai placé ma macro ainsi que la dernière d'Eric et je trouve qu'elles font le même boulot, si ce n'est qu'Eric affiche en plus la plage concernée dans un MsgBox, ce qui n'était pas demandé de ta part.

Ta demande est mal partie depuis le début, car déjà tu ne fournis pas de fichier modèle et tu exprimes assez mal ta demande. En tapant Ctrl+Maj+Espace, ça sélectionne toutes les cellules de la feuille si tu as sélectionné une cellule vide et la plage adjacente à une cellule si elle n'est pas vide.

Peux-tu éventuellement fournir un fichier dans lequel ma macro ne fonctionnerait pas comme celle d'Eric ?

Amicalement.

3essai-13-04.xlsm (22.11 Ko)

Salut Yvouille

Lorsqu'il y a deux plage a prendre (y et g) ta fonction prend la totalité de "g4" à "y6"

Or ce que je demande c'est une fonction qui s'arrête à la limite cellule vide donc de "g4" à "g5"

Celle de Eric est juste car il suffit de remplacer dans le code "g1" par "y1" pour sélectionner la plage "y1":"y6"

Voici le tableau d'exemple :

g4g2
g3g1g5
y1y2y3
y4y5y6

Si tu a une autre alternative que celle de Eric

Avec quelque recherche j'ai trouver ce code très compact qui répond à mon besoin :

Sub test()
i = "g1"
Cells.Find(i).CurrentRegion.Select

End Sub

Demandez au pêcheur et il vous dira où on vend l'hameçon

Rechercher des sujets similaires à "ctrl maj espace"