Code VB pour revenir sur une feuille
Fermé
Joss062
Messages postés
36
Date d'inscription
vendredi 7 novembre 2014
Statut
Membre
Dernière intervention
12 mai 2016
-
7 nov. 2014 à 19:02
Maurice - 8 nov. 2014 à 11:02
Maurice - 8 nov. 2014 à 11:02
A voir également:
- Code VB pour revenir sur une feuille
- Code asci - Guide
- Revenir à la ligne dans une cellule excel mac - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Feuille de pointage excel - Télécharger - Tableur
3 réponses
m@rina
Messages postés
20088
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
27 avril 2024
11 272
7 nov. 2014 à 19:29
7 nov. 2014 à 19:29
Bonjour,
Avant Range("A1").Select, tu mets :
Sheets(1).Activate
ça active la première feuille. Pour aller sur une feuille avec un nom particulier, tu remplaces 1 par le nom de la feuille entre guillemets.
m@rina
Avant Range("A1").Select, tu mets :
Sheets(1).Activate
ça active la première feuille. Pour aller sur une feuille avec un nom particulier, tu remplaces 1 par le nom de la feuille entre guillemets.
m@rina
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
7 nov. 2014 à 20:45
7 nov. 2014 à 20:45
Bonjour,
Si la colonne A contient une donnée dans la dernière ligne renseignée :
A+
Si la colonne A contient une donnée dans la dernière ligne renseignée :
With Worksheets(MonthName(Month(Date)))
.Activate
.Range("A" & Rows.Count).End(xlUp).Select
End With
A+
Joss062
Messages postés
36
Date d'inscription
vendredi 7 novembre 2014
Statut
Membre
Dernière intervention
12 mai 2016
3
7 nov. 2014 à 22:24
7 nov. 2014 à 22:24
Gyrus,
ça n'a pas de conséquence... je reviens automatiquement sur la dernière cellule sélectionné... et non en colonne "A"
Comment ça se fait ?
Merci a toi
ça n'a pas de conséquence... je reviens automatiquement sur la dernière cellule sélectionné... et non en colonne "A"
Comment ça se fait ?
Merci a toi
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
523
8 nov. 2014 à 06:39
8 nov. 2014 à 06:39
As-tu effectué une copie strictement identique de la procédure ?
La feuille correspondant au mois en cours est-elle activée par cette procédure ?
Si oui, quelle est la cellule sélectionnée en fin de procédure ?
Quelques explications pour te permettre d'y voir plus clair :
Explication sur l'instruction "Worksheets(MonthName(Month(Date)))"
Date => 8/11/2014
Month(Date)=> 11
MonthName(Month(Date)=> novembre
Worksheets(MonthName(Month(Date) )) correspond donc à la feuille qui porte le nom du mois en cours.
L'instruction With permet d'appliquer une série d'instructions à la feuille indiquée, sans qualifier à chaque fois le nom de la feuille.
.Activate permet donc d'activer la feuille "novembre". Cette méthode revient à cliquer sur l'onglet de la feuille.
Ensuite, une explication sur l'instruction ".Range("A" & Rows.Count).End(xlUp).Select"
Rows.Count correspond au nombre de lignes de la feuille (Exemple : 1048576 avec Excel 2007).
.Range("A" & Rows.Count) correspond à la dernière cellule de la colonne A (soit A1048576 avec Excel 2007).
.Range("A" & Rows.Count).End(xlUp) correspond à la première cellule renseignée lorsqu'on remonte la colonne A. C'est donc la dernière cellule renseignée de cette colonne.
Tu peux placer la procédure dans un module standard et la tester directement pour vérifier le fonctionnement.
A+
La feuille correspondant au mois en cours est-elle activée par cette procédure ?
Si oui, quelle est la cellule sélectionnée en fin de procédure ?
Quelques explications pour te permettre d'y voir plus clair :
Explication sur l'instruction "Worksheets(MonthName(Month(Date)))"
Date => 8/11/2014
Month(Date)=> 11
MonthName(Month(Date)=> novembre
Worksheets(MonthName(Month(Date) )) correspond donc à la feuille qui porte le nom du mois en cours.
L'instruction With permet d'appliquer une série d'instructions à la feuille indiquée, sans qualifier à chaque fois le nom de la feuille.
.Activate permet donc d'activer la feuille "novembre". Cette méthode revient à cliquer sur l'onglet de la feuille.
Ensuite, une explication sur l'instruction ".Range("A" & Rows.Count).End(xlUp).Select"
Rows.Count correspond au nombre de lignes de la feuille (Exemple : 1048576 avec Excel 2007).
.Range("A" & Rows.Count) correspond à la dernière cellule de la colonne A (soit A1048576 avec Excel 2007).
.Range("A" & Rows.Count).End(xlUp) correspond à la première cellule renseignée lorsqu'on remonte la colonne A. C'est donc la dernière cellule renseignée de cette colonne.
Tu peux placer la procédure dans un module standard et la tester directement pour vérifier le fonctionnement.
Sub Test()
With Worksheets(MonthName(Month(Date)))
.Activate
.Range("A" & Rows.Count).End(xlUp).Select
End With
End Sub
A+
Joss062
Messages postés
36
Date d'inscription
vendredi 7 novembre 2014
Statut
Membre
Dernière intervention
12 mai 2016
3
8 nov. 2014 à 10:39
8 nov. 2014 à 10:39
Merci pour cette petite explication, effectivement, expliqué comme ça, on y voit beaucoup plus clair (merci pour la patience). Dsl, je suis novice en la matière...
Je test ça et te tiens au courant.
Tant que j'y suis, pourrais tu me dire ce que je dois rajouter dans ma procédure précédente (concernant l'envoi du mail) pour pouvoir mettre un destinataire en copie (cc)
J'ai rajouté : .Item.To = Range("référence de la cellule avec l'adresse mail") mail ça marche pas...
Merci à toi
Je test ça et te tiens au courant.
Tant que j'y suis, pourrais tu me dire ce que je dois rajouter dans ma procédure précédente (concernant l'envoi du mail) pour pouvoir mettre un destinataire en copie (cc)
J'ai rajouté : .Item.To = Range("référence de la cellule avec l'adresse mail") mail ça marche pas...
Merci à toi
7 nov. 2014 à 22:14
sinon j'ai un débogage...
Merci à toi
Joss