Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 11h45   #1
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 2
Points : 2
Par défaut Selection automatique de plusieurs cellules

Bonjour,

Voici le problème dont je cherche la solution en excel/VBA:
Lorsque je sélectionne une cellule quelconque sur ma feuille excel "Reference Sheet", j'aimerais que toute la colonne soit sélectionnée:

Code :
1
2
3
With Sheets("Reference Sheet")
        If ActiveCell.Row <> 0 Then Rows(ActiveCell.Row).Select
End With
VBA n'etant pas dynamique, avez vous une solution a proposer qui fonctionne a chaque fois que l'utilisateur clique sur n'importe quelle cellule?
Merci d'avance !

Dernière modification par AlainTech ; 05/07/2009 à 07h19. Motif: Balises [code]
robynou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 11h54   #2
Membre Expert
 
Avatar de Fvandermeulen
 
Frédéric Vandermeulen
Inscription : juillet 2007
Messages : 1 716
Détails du profil
Informations personnelles :
Nom : Frédéric Vandermeulen
Âge : 36
Localisation : Belgique

Informations forums :
Inscription : juillet 2007
Messages : 1 716
Points : 2 108
Points : 2 108
Salut Robynou (et les autres)
Tu peux rendre VBA dynamique en mettant ton code dans le module de feuille avec une action sur un changement.
Le plus simple, click droit sur l'onglet de la feuille concernée, ensuite Voir code.

Tu colle le code ci-dessous, il s'effectuera à chaque "changement" de cellule.
Par contre es tu bien certain du résultat que tu vas obtenir, ça me semble étrange de vouloir sélectionner l'ensemble de la ligne dans ce contexte...

Code :
1
2
3
4
5
6
7
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
With Sheets("Reference Sheet")
If ActiveCell.Row <> 0 Then Rows(ActiveCell.Row).Select
End With
 
End Sub
A+
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 11h58   #3
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
Dans l'évènement selection change de la feuille de calcul ou l'équivalent dans thisworkbook (tu verra que VBA peut être très dynamique si on apprend a le connaitre )
les tuto
this workbook : http://silkyroad.developpez.com/VBA/EvenementsClasseur/
Feuille decalcule : http://silkyroad.developpez.com/VBA/EvenementsFeuille/

Ensuite tu mets juste dans le code
Code :
selection.Entirecolumn.select
Bon le code complet pour une feuille de calcul
Code :
1
2
3
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Selection.EntireColumn.Select
End Sub
Mais lis quand mémé les tutos pour voir un peu comment ca fonctionne (et savoir ou placer le code )

Edit : Bonjour Fvandermeulen, c'est vrai que le code utilisé les ligne mais la question les colonnes... Au moins il aura les deux version
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 12h28   #4
Membre Expert
 
Avatar de Fvandermeulen
 
Frédéric Vandermeulen
Inscription : juillet 2007
Messages : 1 716
Détails du profil
Informations personnelles :
Nom : Frédéric Vandermeulen
Âge : 36
Localisation : Belgique

Informations forums :
Inscription : juillet 2007
Messages : 1 716
Points : 2 108
Points : 2 108
Citation:
Envoyé par Krovax Voir le message
...

Edit : Bonjour Fvandermeulen, c'est vrai que le code utilisé les ligne mais la question les colonnes... Au moins il aura les deux version
Salut Krovax, bien vu, j'avais même pas fait gaffe !
__________________
N'oubliez pas le si votre problème est solutionné.
Fvandermeulen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 14h03   #5
Invité de passage
 
Inscription : avril 2008
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 11
Points : 2
Points : 2
Les deux solutions marchent nickel. Merci pour les reponses pertinentes
robynou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 14h14   #6
Membre confirmé
 
Inscription : octobre 2007
Messages : 232
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 232
Points : 235
Points : 235
Bonjour,

faudrait m'expliquer cette ligne, robynou....

Code :
If ActiveCell.Row <> 0 ....
Une cellule active est forcément dans la feuille, donc la ligne est forcément différente de 0...

Juste pour explication...
mapeh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 15h16.


 
 
 
 
Partenaires

Hébergement Web