Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roidurif

XLDnaute Occasionnel
Bonjour,

Je souhaite à partir d'un bouton en cliquant, obtenir une Mise à jour auto :

A partir de la date saisie dans l'onglet "Base", obtenir un "1" selon son "numero de semaine" et son "Nom de séance" dans l'onglet "Nbre séance par Semaine"

J'espere avoir été claire.

Merci de votre aide
 

Pièces jointes

Re : Mise à Jour auto

Bonjour Roidurif,

Si j'ai bien compris, un essai dans l'exemple joint.

Attention, si tu remplis les colonnes E, F ou B, C, il faudra changer l'index de tablo dans la ligne de code:

Code:
    Selection.Offset(i - 1, tablo(i, 2)) = 1

Car le current region est délimité par les colonnes vierges donc il est composé ici des colonnes G et H si tu remplis la colonne F, il deviendra F,G,H et le n° de semaine se trouveras en 3 et non plus 2 etc...

@+

Gael
 

Pièces jointes

Re : Mise à Jour auto

Merci GAEL pour ton aide, effectivement les colonnes B,C et EF seront remplis.

Dans l'onglet Base, je change de date regulierement en fonction des Mise à jour, par contre quand je lance la macro dans l'onglet Nbre de seance, je ne garde pas trace des précedentes Mise à jour.
il efface l'historique, Comment Faire pour garder l' historique des "1"

Je te remercie d'avance
 
Re : Mise à Jour auto

Bonjour Roidurif,

Tu modifies le code de la façon suivante:

Code:
For i = 8 To UBound(tablo)
    Selection.Offset(i - 7, tablo(i, 29)) = 1
Next i

Comme les 7 premières lignes contiennent des titres, la première ligne utile de Tablo est la ligne 8 donc on part de I=8.

La sélection de départ pour la feuille base est en "A5".

.offset(i-7,... représente le décalage de A5 pour aller sur la ligne à mettre à jour. Comme on part de i=8, la première ligne à mettre à jour étant 6, on fait un décalage de i-7, soit 1 donc on passe de A5, à A6.

Tablo(i,29) représente la colonne à atteindre, c'est à dire le n° de semaine correspondant. L'index 29 de tablo correspond à la colonne AD puisque l'index de tablo commence à la colonne B (B=Col1, C=Col2...)

Le bug dans la macro puisque Tablo(x, x) contenait du texte alors que le décalage de colonne attend une valeur numérique.

Si tu modifies le tableau et que tu as à nouveau une erreur, choisis l'option "Debug", la ligne s'affichera en jaune, puis passes la souris sur le texte "Tablo(x,x)" (sans cliquer) XL t'affichera la valeur correspondante ce qui te permettra de mieux comprendre l'erreur.

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
463
Réponses
40
Affichages
2 K
Retour