VBA pour selection cellule selon cellule active

Résolu
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

dans mon fichier joint en cliquant sur un même bouton de commande je souhaite accéder à la cellule date de la feuille "Tache" qui correspond à la cellule active de la feuille "Calendrier".

j'ai fait un peu de bricolage, vous pourrez le constater dans les colonnes janvier / fevrier et mars.

je voudrais que cela soit plus propre. Votre aide me sera précieuse.

merci d'avance.

3 réponses

takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
En fait je ne vois pas comment insérer mon fichier.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour takita,
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Pijaku,

Merci encore. Cidessous le lien pour accéder à mon fichier

https://www.cjoint.com/?0KonU1vsy2O
0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Je ne veux pas être embêtante,

j'attends toujours des réponses si possible évidemment.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Tu n'es pas embêtante.
Mais :
Par choix de son publicateur ou par opération de purge, ce document n'est plus hébergé par CJoint.

Donc, le fichier n'est plus accessible.
0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
désolée pour l'attente. j'ai perdu un proche trop proche et j'étais dans l'impossibilité de poursuivre.
ci-joint le lien
https://www.cjoint.com/c/EAipDhbC35c
merci pour vos réponses.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Une macro de ce genre devrait correspondre à tes besoins :

Sub getTacheFromSelectedDate()
Dim colonne As Long
    colonne = ActiveCell.Column
Dim ligne As Long
    ligne = ActiveCell.Row
    
Select Case colonne
 Case 1, 2, 3
  'Janvier
  LigneColTache = 4
 Case 5, 6, 7
  'Février
  LigneColTache = 8
 Case 9, 10, 11
  'Février
  LigneColTache = 12
'-----------------
' A completer avec les autres mois...
'---------------

End Select

  Sheets("TACHES").Activate
  Sheets("TACHES").Cells(LigneColTache, ligne - 3).Select

End Sub


Nb: j'ai fait pour Janvier/février/mars.. je te laisse faire pour les autres...
Il suffit d'ajouter, pour chaque moi, un CASE (suivit des numéros de colonne correspondante dans ton calendrier...)
et de mettre la variable LigneColTache en fonction de la "ligne" à afficher dans l'onglet Taches
0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Jordane45 pour ta réponse qui est parfaitement ce que je recherche. Toutefois à partir du mois de juillet j'ai un petit problème. J'ai donc encore besoin de ton aide.

https://www.cjoint.com/c/EAiuuqzzQyv
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Modifie le code comme ceci :

Sub getTacheFromSelectedDate()
Dim colonne As Long
    colonne = ActiveCell.Column
Dim ligne As Long
    ligne = ActiveCell.Row
    
Select Case colonne
 Case 1, 2, 3
  If ligne < 34 Then
   'Janvier
    LigneColTache = 4
  Else
   'Juillet
   LigneColTache = 28
  End If
 Case 5, 6, 7
  If ligne < 34 Then
   'Février
    LigneColTache = 8
  Else
   'Aout
   LigneColTache = 32
  End If
 Case 9, 10, 11
  If ligne < 34 Then
   'Mars
    LigneColTache = 12
  Else
   'Septembre
   LigneColTache = 36
  End If
 Case 13, 14, 15
 If ligne < 34 Then
   'Avril
  LigneColTache = 16
  Else
   'Octobre
   LigneColTache = 36
  End If
 Case 17, 18, 19
 If ligne < 34 Then
   'Mai
  LigneColTache = 20
  Else
   'Novembre
   LigneColTache = 40
  End If
 Case 21, 22, 23
  If ligne < 34 Then
   'Juin
  LigneColTache = 24
  Else
   'Décembre
   LigneColTache = 44
  End If
End Select

' on regarde à Quelle ligne on se trouve dans le classeur
' pour déterminer la date...
If ligne < 34 Then
    ligneDeb = ligne - 3
Else
    ligneDeb = ligne - 37
End If
  Sheets("TACHES").Activate
  Sheets("TACHES").Cells(LigneColTache, ligneDeb).Select

End Sub


0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
Merci encore Jordane45. J'ai rectifié et tout fonctionne à merveille. Maintenant est-il possible qu'à l'ouverture du fichier que la cellule active soit celle de la date du jour ?
https://www.cjoint.com/c/EAjpnnoox3o
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 

Maintenant est-il possible qu'à l'ouverture du fichier que la cellule active soit celle de la date du jour ?


Oui.. mais là .. c'est une nouvelle Question...
Donc je t'invite à mettre cette présente discussion en résolu .. puis à ouvrir une nouvelle discussion pour exposer cette nouvelle demande.
0
takita Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
très bien.
0