Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Quel jour de la semaine ?

  • Initiateur de la discussion Initiateur de la discussion Paulle
  • Date de début Date de début

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 !

Paulle

XLDnaute Occasionnel
Bonjour,
Dans une discussion précédente pour laquelle vous m’avez apporté la solution, je n’avais pas bien cerné mon besoin.
Voilà ce dont j’ai besoin :
Je voudrai que le jour de la semaine s’affiche en A1 en cliquant sur une cellule comprise entre B3 et AF……. qui s’ajuste suivant le nombre de date dans la colonne A.
Colonne A = mois et année.
Ligne 2 = jour du mois.
J’ai tenté de mettre à jour le vba sans succès.
Merci.
 

Pièces jointes

Hello

un essai avec ce code
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([B3:AF27], Target) Is Nothing And Target.Count = 1 Then
    jour = Cells(2, Target.Column)
    mois = Month(Range("A" & Target.Row))
    annee = Year(Range("A" & Target.Row))
    JourReconstruit = DateSerial(annee, mois, jour)
    If JourReconstruit >= DateSerial(annee, mois + 1, 1) Then
        Range("A1") = "Jour Inexistant"
    Else
        Range("a1") = JourReconstruit 
    End If
End If
End Sub
 
voir aussi
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect([B3:AF27], Target) Is Nothing And Target.Count = 1 Then
    Range("a1") = DateValue(Target.Column - 1 & "/" & Cells(Target.Row, 1).Text)
 End If
End Sub
 
J'ai essayé vos 2 réponses.
Pour les 2, c'est la cellule de la colonne A correspondante à la ligne ou la cellule est active qui s'affiche dans A1.
Et j'aurai voulu que la zone B3:AF27 s'ajuste si je rajoute des dates.
Merci.
 

Pièces jointes

Bonjour à tous,
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim an%, mois As Byte, jour As Byte
If Intersect(Range("B3:AF" & Rows.Count), ActiveCell) Is Nothing Or Not IsDate(Cells(ActiveCell.Row, 1)) Then Exit Sub
an = Year(Cells(ActiveCell.Row, 1))
mois = Month(Cells(ActiveCell.Row, 1))
jour = Cells(2, ActiveCell.Column)
[A1].NumberFormat = "dd/mm/yyyy"
[A1] = Application.Min(DateSerial(an, mois, jour), DateSerial(an, mois + 1, 0))
End Sub
A+
 
Dans la proposition de job75, j'ai remplacé
[A1].NumberFormat = "dd/mm/yyyy"
par :
[A1].NumberFormat = "dddd"
et cela fonctionne.

Si j'osai, je vous demanderai une combinaison de la proposition de vgendron "Jour Inexistant" quand je clique sur un jour hors calendrier.
et celle de job75 pour l'ajustement de B3:AF en fonction des dates ajoutées.

Merci encore.
 
J'ai toujours du mal à comprendre pourquoi les gens multiplient les messages en prenant l'utilisateur pour un débile mais bof :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim an%, mois As Byte, jour As Byte
If Intersect(Range("B3:AF" & Rows.Count), ActiveCell) Is Nothing Then Exit Sub
On Error Resume Next
an = Year(Cells(ActiveCell.Row, 1))
mois = Month(Cells(ActiveCell.Row, 1))
jour = Cells(2, ActiveCell.Column)
[A1] = ""
[A1].NumberFormat = "dddd"
[A1] = CDate(jour & "/" & mois & "/" & an)
If [A1] = "" Then MsgBox "Jour inexistant..."
End Sub
 
- 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
Réponses
10
Affichages
647
S
Réponses
19
Affichages
3 K
Réponses
2
Affichages
2 K
Réponses
5
Affichages
2 K
Danixdb
D
A
Réponses
0
Affichages
7 K
Arpopa
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…