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 !
Bonjour à tous
Est il possible de récupérer la couleur de la cellule J3 dans (FeuilleDeTravail) Afin de mettre à jour la feuille (Salle de conférence)dans le planning lorsque je clique sur le bouton (recherche automatique) et que je récupère le nom de l'utilisateur.
J'espère être assez clair
Merci pour votre aide
Ci joint fichier
Cijoint.fr - Service gratuit de dépôt de fichiers
merci macsscam ça fonctionne très bien.
Je ne sais pas pourquoi cela ne fonctionnait pas mais j'ai recopié ton code et mis dans mon fichier maintenant c'est bon 😛
Par contre comment faut il faire pour que amplitude de réservation s'arrête au bon endroit. je m'explique si je réserve de 8h à 9h il colorie la case de 8h à 8h30,de 8h30 à 9h00 et de 9h00 à 9h30 il faudrait supprimer la dernière étape, j'ai le même probleme pour réserver 1/2h
A mon sens, il faut enlever une unité à la colonne de fin lors de la recherche (problématique classique des intervalles), voici ma proposition :
Code:
Private Sub CmbValider_Click()
' (...)
ListBoxVh.Clear
For compteurFeuille = 1 To Worksheets.Count
If Worksheets(compteurFeuille).Name <> "FeuilleDeTravail" And Worksheets(compteurFeuille).Name <> "Menu" And Worksheets(compteurFeuille).Name <> "Cadre" And Worksheets(compteurFeuille).Name <> "Jours ouvrés" Then
With Worksheets(compteurFeuille)
LigneDeDateDébut = Application.WorksheetFunction _
.Match(CLng(CDate(ComboDateDébut)), Worksheets(compteurFeuille).Range("A1:A368"), 0)
ColonneDébut = Application.WorksheetFunction _
.Match(CDbl(CDate(HeureDeDébut)), Worksheets(compteurFeuille).Range("A3:Y3"), 1)
LigneDeDatefin = Application.WorksheetFunction _
.Match(CLng(CDate(ComboDateFin)), Worksheets(compteurFeuille).Range("A1:A368"), 0)
ColonneFin = Application.WorksheetFunction _
.Match(CDbl(CDate(HeureDeFin)), Worksheets(compteurFeuille).Range("A3:Y3"), 1) [COLOR="Red"][B]- 1[/B][/COLOR]
If CDate(ComboDateDébut) = CDate(ComboDateFin) Then
For compteurDeColonne = ColonneDébut To ColonneFin
If .Cells(LigneDeDateDébut, compteurDeColonne).Interior.ColorIndex <> xlNone Then
GoTo VhLibre
End If
Next
' (...)
Next
Ma correction est en rouge (-1), il faut déplacer un peu le curseur pour naviguer dans le code.
A vérifier que cela n'induit pas de régression dans d'autres parties du code 🙂
merci macsscam
ca marche super bien sauf si je réserve entre 11h et 12h la il prend à partir de 10h30 pourquoi?
quelle efficacité encore merci😉
Maintenant j'aimerais récupérer le formulaire qui sert à la réservation pour pouvoir supprimer ou modifier une réservation car si la même personne réserve deux plages différentes, lors de la suppression je supprime systématiquement le premier rencontré.
Est ce possible??
Faut il clore cette discussion et en ouvrir une autre?
Un petit message rapide pour te donner quelques pistes que je n'ai pas le temps de creuser là tout de suite :
- Concernant la problématique des 1/2 heures, cela pourrait venir de la conversion en Double Cdbl qui arrondit et donc renvoie l'heure pleine au lieu de la 1/2 heure :
Idées de solutions :
- Améliorer la recherche sans utiliser de CDble (mes premiers tests rapides ne m'ont pas donné beaucoup de pistes ni de solutions... désolé)
- Ne pas utiliser le .Match (qui utilise une formule) mais un .Find (qui correspond plus à du vba, même si c'est peut-être plus lent ?) (cf. un exemple dans mon message précédent sur les utilisateurs ou avec l'enregistreur de macro)
Concernant la réutilisation du code pour la suppression, tu as intérêt :
- à sortir le code qui permet la recherche
Code:
ListBoxVh.Clear
For compteurFeuille = 1 To Worksheets.Count
(...)
Next
afin de l'utiliser comme il faut
- à commenter ton code (!), je me répète mais c'est fondamental pour pouvoir s'en sortir (toi comme ceux qui relisent le code) 🙄
- à réaliser l'appel de ta nouvelle fonction pour l'ajout de réservation
- à le tester
- dès que l'existant (re)marche, à ajouter la fonction à la suppression
Je ne sais pas s'il faut créer un nouveau fil de discussion, je laisse les habitués du forum répondre sur ce point,
je me demande si le problème de réservation n'est pas lié au format de l'heure
car cela fonctionne très bien de 12h à 18h00 par contre le soucis est avant
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.