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é régulier
 
Date d'inscription: avril 2008
Messages: 11
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 :
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
Vieux 01/07/2009, 11h54   #2
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

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 :
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
Vieux 01/07/2009, 11h58   #3
Expert Confirmé
 
Avatar de Krovax
 
Date d'inscription: juillet 2008
Localisation: Elsass
Âge: 24
Messages: 1 887
Par défaut

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 :
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
Vieux 01/07/2009, 12h28   #4
Membre Expert
 
Avatar de Fvandermeulen
 
Nom : Frédéric Vandermeulen
Date d'inscription: juillet 2007
Localisation: Bruxelles
Âge: 34
Messages: 1 414
Par défaut

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
Vieux 01/07/2009, 14h03   #5
Invité régulier
 
Date d'inscription: avril 2008
Messages: 11
Par défaut

Les deux solutions marchent nickel. Merci pour les reponses pertinentes
robynou est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h14   #6
Membre actif
 
Date d'inscription: octobre 2007
Localisation: 29
Messages: 176
Par défaut

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
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 10h19.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.