[Résolu] Effacer puis recopier les données sous condition

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum et Bon Dimanche :)

J'aimerais rajouter, soit par les compteurs soit sur Worksheet_Change, une macro qui d'après les dates efface ou réinsère un rendez-vous.

Exemple: ici j'ai inscrit un RDV au 22 avril dans la cellule C11. Maintenant, quand je déplace la date au 29, la cellule doit s'éffacer, pour pouvoir inscrire un nouveau RDV et quand je reviens au 22, la macro doit effacer le RDV du 29 et réafficher le RDV du 22. La macro doit s'appliquer à toutes les cellules. Les données sont dans la feuille Data.

J'ai essaié en mettant Find, puis VLookUp, mais je n'arrive pas à obtenir ce résultat. J'ai aussi vu sur le Forum certains exemples donnés pas Job75 et Jacques Boisgontier, mais ne comprenand pas le fonctionnement des Tableaux, il m'est impossible de les adapter.

Désolé, comme j'ai du quitter, j'ai oublié de dire que dans la feuille Agenda il y a des formules et mises en formes conditionnels, celle-ci est protégée.

Lone-wolf :cool:
 

Pièces jointes

  • Agenda 2013.zip
    183.7 KB · Affichages: 56
  • Agenda 2013.zip
    183.7 KB · Affichages: 52
  • Agenda 2013.zip
    183.7 KB · Affichages: 62
Dernière édition:

jpb388

XLDnaute Accro
Re : Effacer puis recopier les données sous condition

Bonsoir a tous

j' ai trouvé une façon de faire qui a défaut si tu n' as rien d'autre pourra faire l'affaire
tu sélectionnes le nom a déplacer
puis tu vas sur la case ou tu veux le mettre
clic droit de la souris choisir déplacement
 

Pièces jointes

  • Lone_wolf_1.zip
    181.1 KB · Affichages: 55

Lone-wolf

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

Bonjour jpb388,

tout d'abord merci d'avoir répondu.

Malheureusement, ce n'est pas le but recherché. Si tu regarde le fichier original (en PJ), il le fait sans avoir à faire un déplacement manuel.


A+ :cool:
 

Pièces jointes

  • Rendez-vous.zip
    29.2 KB · Affichages: 27

job75

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

Bonjour Lone-wolf, salut jpb388,

Perso je n'ai absolument pas compris ce que tu veux faire.

Et que viennent faire toutes ces formules avec plein de plages comme Data!$B$2:$B$5000 ?

Le fichier met un temps fou à s'ouvrir...

A+
 

Lone-wolf

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

Bonjour job75,

je suis vaiment content que tu intervienne. Essaie d'ouvrir le fichier le fichier joint. Le fichier Rendez-vous étant l'original, chez moi s'ouvre sans problèmes.

Explications :

Dans la feuille Agenda les cellules C3:I3 sont des dates qui changes avec les compteurs.

A partir de la Cellule C4 à I17 les cellules à remplir. Regarde maintenant la feuille Data, on a 2 dates différentes pour la même cellule; mais si tu clique sur le compteur des jours à la date du 29, il y a toujours inscrit Essai 1. Or la cellule devrais afficher Essai 2. Je ne sais pas si c'est plus claire pour toi.


A+ :cool:
 

Pièces jointes

  • Agenda.zip
    175.7 KB · Affichages: 70
  • Agenda.zip
    175.7 KB · Affichages: 61
  • Agenda.zip
    175.7 KB · Affichages: 65

Si...

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

salut

un exemple avec ce que j'ai compris.
Pas vu la nécessité de la feuille "Commentaire" par contre ajout d'une feuille de sauvegarde temporaire.
 

Pièces jointes

  • Agenda_2013.xls
    349 KB · Affichages: 48

job75

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

Re,

Je n'ai sûrement pas tout compris mais essaie cette macro dans le code de la feuille "Agenda" :

Code:
Private Sub Worksheet_Calculate()
Dim dat, r As Range
[C4:I17].ClearContents 'RAZ
dat = [H1] & "/" & [F1] & "/" & [D1]
If Not IsDate(dat) Then Exit Sub
dat = CDate(dat)
With Sheets("Data")
  Set r = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
End With
On Error Resume Next 'si le texte en r n'est pas une référence
For Each r In r
  If r(1, 2) = dat Then Range(r) = r(1, 3)
Next
End Sub
J'utilise l'événement Calculate car chez moi les compteurs ne créent pas l'événement Change.

A+
 

Lone-wolf

XLDnaute Barbatruc
Re : Effacer puis recopier les données sous condition

Bonsoir Si, job75

@Si : la feuille Comentaires sert à afficher les commentaires quand tu clique sur la cellule colorée du rendez-vous.
En changeant la date, il n'y a pas de modification.

@job75 :
Je n'ai sûrement pas tout compris
au contraire job... au contraire. Une fois encore, je m'incline devant ton savoir. Merci infiniment.



A+ :cool:
 

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu] Effacer puis recopier les données sous condition

Bonjour le Forum, bonjour job75

je réouvre la discution suite à un petit problème.


Code:
Private Sub Worksheet_Calculate()
Dim dat, r As Range
Feuil2.[C5:I18].ClearContents
dat = [I2] & "/" & [G2] & "/" & [D2]
On Error Resume Next 'si le texte en r n'est pas une référence
If Not IsDate(dat) Then Exit Sub 'RàZ
dat = CDate(dat)
With Sheets("Data")
  Set r = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
End With
For Each r In r
  If r(1, 2) = dat Then Range(r) = r(1, 3)
Next
End Sub

Dans le code tu fait références au Compteurs, est-ce qu'il est possible de faire reférence à la colonne Dimanche? C'est à dire qu'il dois éffacer les cellules supérieures à une semaine au lieu de 1 jour.

Merci pour ton aide.


A+ :cool:
 

job75

XLDnaute Barbatruc
Re : [Résolu] Effacer puis recopier les données sous condition

Re,

Bon ce n'est toujours pas clair et guère cohérent.

Je fais donc une supposition : tu veux afficher les données de la semaine en cours.

Alors cette macro dans le fichier joint :

Code:
Private Sub Worksheet_Calculate()
Dim lundi As Date, dimanche As Date, r As Range
[C5:I18].ClearContents 'RAZ
If Not IsDate([I2] & "/" & [G2] & "/" & [D2]) Then Exit Sub
lundi = [C4]
dimanche = [I4]
With Sheets("Data")
  Set r = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
End With
On Error Resume Next 'si le texte en r n'est pas une référence
For Each r In r
  If r(1, 2) >= lundi And r(1, 2) <= dimanche Then Range(r) = r(1, 3)
Next
End Sub
En passant, tu ne crois pas qu'il serait plus logique de mettre l'affichage des commentaires dans cette même macro, en supprimant la macro SelectionChange ?

A+
 

Pièces jointes

  • Agenda(1).xls
    369.5 KB · Affichages: 53
  • Agenda(1).xls
    369.5 KB · Affichages: 53
  • Agenda(1).xls
    369.5 KB · Affichages: 58

Lone-wolf

XLDnaute Barbatruc
Re : [Résolu] Effacer puis recopier les données sous condition

RE job,

Tu as une page(semaine) avec tous tes rendez-vous, avec la macro antérieure imagine un peu ce qu'il ce serait passé. En ce qu'il concerne l'affichage des commentaires, SelectionChange pour moi est mieux.

En tous cas, merci à nouveau pour ton intervention.

A bientôt :cool:
 

Discussions similaires

Réponses
4
Affichages
374

Statistiques des forums

Discussions
312 488
Messages
2 088 866
Membres
103 979
dernier inscrit
imed