Fixer une cellule active d'un tableau excel
Résolu
mic13710
Messages postés
1165
Statut
Membre
-
mic13710 Messages postés 1165 Statut Membre -
mic13710 Messages postés 1165 Statut Membre -
Bonjour,
J'ai un petit tableau Excel vide avec des titres de lignes et de colonnes.
Je voudrais à l'intérieur de ce tableau et uniquement dans la zone vide (hors titres)
1. que la cellule active change de couleur,
2. que je puisse récupérer les titres de ligne et de colonne correspondants pour effectuer des recherches sur d'autres tableaux,
3. qu'une nouvelle sélection invalide la sélection précédente,
4. que la couleur de la cellule sélectionnée soit conservée si je sors de ce tableau pour activer une autre cellule à l'extérieur du tableau.
Je suis sûr que c'est possible mais ne sais pas comment ni par quoi commencer. en VB peut-être, mais je suis ignare et ne demande qu'à apprendre.
Peut-être que cette question a été posée sur le forum, mais mes recherches n'ont rien donné.
Merci pour votre aide
J'ai un petit tableau Excel vide avec des titres de lignes et de colonnes.
Je voudrais à l'intérieur de ce tableau et uniquement dans la zone vide (hors titres)
1. que la cellule active change de couleur,
2. que je puisse récupérer les titres de ligne et de colonne correspondants pour effectuer des recherches sur d'autres tableaux,
3. qu'une nouvelle sélection invalide la sélection précédente,
4. que la couleur de la cellule sélectionnée soit conservée si je sors de ce tableau pour activer une autre cellule à l'extérieur du tableau.
Je suis sûr que c'est possible mais ne sais pas comment ni par quoi commencer. en VB peut-être, mais je suis ignare et ne demande qu'à apprendre.
Peut-être que cette question a été posée sur le forum, mais mes recherches n'ont rien donné.
Merci pour votre aide
A voir également:
- Fixer une cellule active d'un tableau excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
5 réponses
Bonjour,
J'ai réalisé un petit exemple.
Pour comprendre le fonctionnement il faut regarder le code VBA en cliquant bouton droit sur le nom de l'onglet "EXEMPLE" et "visualiser le code"
http://www.cijoint.fr/cjlink.php?file=cj200902/cijuUKPYfA.xls
pour commencer selectionner la 1° case jaune...
Pour plus de précision ne pas hésiter à me demander.
A+
J'ai réalisé un petit exemple.
Pour comprendre le fonctionnement il faut regarder le code VBA en cliquant bouton droit sur le nom de l'onglet "EXEMPLE" et "visualiser le code"
http://www.cijoint.fr/cjlink.php?file=cj200902/cijuUKPYfA.xls
pour commencer selectionner la 1° case jaune...
Pour plus de précision ne pas hésiter à me demander.
A+
Salut Pilas,
Après plusieurs jour d'essai, le code marche bien, mais il y a un problème d'affichage lors de la première sélection.
En effet, lorsqu'on ouvre le fichier, ILIG_SELECT et ICOL_SELECT n'ont aucune valeur attribuée et donc si je sélectionne une autre cellule, la dernière sélection sauvegardée reste colorée donnant ainsi 2 cellules colorées au lieu d'une.
Pour éviter ça, il faut d'abord commencer par cliquer sur la cellule colorée pour affecter les valeurs correctes aux 2 variables, et après ça marche sans pb. Mais c'est pas glop.
J'ai bien essayé de remplacer Cells(ILIG_SELECT, ICOL_SELECT).Interior.ColorIndex = x1None
par: Range("C3:N7").Interior.ColorIndex = x1None, mais ça ne change rien.
As-tu une idée pour contourner le problème?
D'avance merci.
Après plusieurs jour d'essai, le code marche bien, mais il y a un problème d'affichage lors de la première sélection.
En effet, lorsqu'on ouvre le fichier, ILIG_SELECT et ICOL_SELECT n'ont aucune valeur attribuée et donc si je sélectionne une autre cellule, la dernière sélection sauvegardée reste colorée donnant ainsi 2 cellules colorées au lieu d'une.
Pour éviter ça, il faut d'abord commencer par cliquer sur la cellule colorée pour affecter les valeurs correctes aux 2 variables, et après ça marche sans pb. Mais c'est pas glop.
J'ai bien essayé de remplacer Cells(ILIG_SELECT, ICOL_SELECT).Interior.ColorIndex = x1None
par: Range("C3:N7").Interior.ColorIndex = x1None, mais ça ne change rien.
As-tu une idée pour contourner le problème?
D'avance merci.
Bonsoir,
Oui je comprends le problème, je te propose de le résoudre à l'ouverture ou à la fermeture du classeur pour celà du mets le code suivant dans le dossier macros de "ThisWorkbook" :
dans cet exemple quand tu fermes ton classeur, il enlève la couleur de ta plage (dans mon exemple c'est la plage C2:J20 de la feuille "EXEMPLE")
A+
Oui je comprends le problème, je te propose de le résoudre à l'ouverture ou à la fermeture du classeur pour celà du mets le code suivant dans le dossier macros de "ThisWorkbook" :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("EXEMPLE").Range("C2:J20").Interior.ColorIndex = x1None
End Sub
dans cet exemple quand tu fermes ton classeur, il enlève la couleur de ta plage (dans mon exemple c'est la plage C2:J20 de la feuille "EXEMPLE")
A+
Merci Pilas.
Ton code fonctionne bien. Cependant, comme j'ai déjà une routine Private Sub Workbook_Open() dans mon Workbook, j'y ai inséré le code qu'il me fallait pour mon application et ça marche aussi.
L'avantage, c'est qu'il ne me demande pas de sauvegarder avant de fermer. Par contre, ça ralenti un petit peu l'ouverture du fichier. Mais je ne suis pas pressé.
Je ne sais pas si le (Cancel As Boolean) de ton Private Sub Workbook a de l'importance. En tout cas, ça marche sans.
Ton code fonctionne bien. Cependant, comme j'ai déjà une routine Private Sub Workbook_Open() dans mon Workbook, j'y ai inséré le code qu'il me fallait pour mon application et ça marche aussi.
L'avantage, c'est qu'il ne me demande pas de sauvegarder avant de fermer. Par contre, ça ralenti un petit peu l'ouverture du fichier. Mais je ne suis pas pressé.
Je ne sais pas si le (Cancel As Boolean) de ton Private Sub Workbook a de l'importance. En tout cas, ça marche sans.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Par contre, j'ai un problème sur des cellules qui ont un format conditionnel actif.
Je m'explique, mes lignes sont les années (2009 à 2013) et mes colonnes les mois.
J'ai un format conditionnel sur tout le tableau qui colore en jaune la ligne de l'année en cours (2009 en l'occurrence).
J'ai bien entendu changé le ColorIndex du fichier VBA à 3 (rouge).
Ca fonctionne nickel pour les cellules 2010 à 2013 (conditionnel faux) mais pas pour 2009 (conditionnel vrai) qui restent jaune. Le renvoi d'info des titres se fait bien, mais ça c'est normal.
Y'a t'il un moyen de contourner le format conditionnel ou bien est-ce que je dois le supprimer?
Apparemment Il n' y a pas d'autre solution que de l'enlever.
A+
Je l'ai donc supprimé et je l'ai conservé seulement sur les lignes de titre en mettant en jaune l'année et le mois en cours.
Merci encore pour ton aide qui m'a été d'un grand secours.