XL 2013 1°Problème ajout à une macro RESOLU , une autre question

Scheerami

XLDnaute Occasionnel
Bonjour le Forum et merci pour votre aide

Je joins un fichier au présent pour une meilleur compréhension

D'avance MERCI beaucoup Scheera(mi)
 

Pièces jointes

  • Forum calendrier mémorisable .xlsm
    102.6 KB · Affichages: 51

Paf

XLDnaute Barbatruc
Re,

Aaaaah ça y est, j'ai compris , en fait il ne s'agit pas d'écrire en A1 , C1 et G1; pas plus que cette écriture provoquera l'affichage de "Jan 2017" en H1.

Je formule ce que j'ai compris, vous confirmerez (ou pas) et on verra demain:

en feuille Planning, sur une ligne, à partir de la ligne 3 (début du calendrier) :
on saisit ce qu'on veut en col A, C, D, E, F
en colonne G on saisit un nombre de mois : X. la formule en H donne alors la date du premier jour du Xème mois postérieur à la date figurant en B .

La demande serait de pouvoir enregistrer ces données en feuille Data à la nouvelle date calculée, afin de la voir figurer dans la feuille Planning si on appelle l'année et le mois concerné.

Par exemple :

pour une date quelconque du mois affiché ( mettons 15 octobre 2016) je saisis des informations en col A, C, D, E, F;
en G : 6 (mois) en H s'affiche Avr 2017 (pour 01/04/2017).
Si maintenant j' affiche le planning pour Avril 2017, à la date du 01/04/2017 doivent s'afficher les renseignements saisis.

A vu de nez, il doit y avoir 3 lignes à rajouter dans la macro.

Bonne soirée
 

Scheerami

XLDnaute Occasionnel
Re encore merci

Oui les données saisies en les cellules de la feuille planning ''expéditrice'', sont stockées en data mais ressortent seulement si la date est demandée à la feuille planning qui deviendra ''réceptrice''.

Par contre, S T P est-il possible que les données saisies en, par exemple A C D ligne 5 ou autre, soient reproduites en cette même ligne 5 ou autre au mois et année cité en H5 ou autre de la première feuille "expéditrice".
Quant aux RECHERCHES, si tu as une solution autre que celle que j'ai actuellement cela serait formidable

Grands MERCIS Scheera(mi)
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re,

a priori :
Code:
Sub change_date()
Dim lig As Long, lg As Long, DRV As Double, DDEP As Double, i As Long
Application.ScreenUpdating = False
With Sheets("Planning")
' écriture des lignes du mois  en feuille Data
  lig = 2 + .Range("B3").Value - Sheets("Data").Range("A2").Value
  Sheets("Data").Range("B" & lig & ":B" & lig + 30) = .Range("A3:A33").Value
  Sheets("Data").Range("C" & lig & ":F" & lig + 30) = .Range("C3:F33").Value
'  écriture des rendez vous en feuille Data
    For i = 3 To 33
        If .Range("H" & i) <> "" Then
            DRV = CDbl(.Range("H" & i).Value)
            DDEP = CDbl(Sheets("Data").Range("A2").Value)
            lg = 2 + DRV - DDEP
            MsgBox lg
            Sheets("Data").Range("B" & lg) = .Range("A" & i).Value
            Sheets("Data").Range("C" & lg & ":F" & lg) = .Range("C" & i & ":F" & i).Value
        End If
    Next
' affichage en B3 de la date du 1er jour de l'année et mois sélectionnés
  .Range("B3") = DateSerial(.Range("D1").Value + 2014, .Range("F1").Value, 1)
        
' affichage des données correspondant aux critères année mois de Data vers Planning
  lig = 2 + .Range("B3").Value - Sheets("Data").Range("A2").Value
  .Range("A3:A33") = Sheets("Data").Range("B" & lig & ":B" & lig + 30).Value
  .Range("C3:G33") = Sheets("Data").Range("C" & lig & ":F" & lig + 30).Value
  '---------------------------------------------------------------------------
   .Range("H3:H33").NumberFormat = "mmm yyyy"
  '---------------------------------------------------------------------------
End With
Application.ScreenUpdating = True
End Sub


Par contre, S T P est-il possible que les données saisies en, par exemple A C D ligne 5 ou autre, soient reproduites en cette même ligne 5 ou autre au mois et année cité en H5 ou autre de la première feuille "expéditrice".

Pour ça, il faudrait changer la formule en H3 par : =SI(G3="";"";DATE(ANNEE(B3);MOIS(B3)+G3;JOUR(B3))) puis tirer vers le bas.

Bonne suite
 

Paf

XLDnaute Barbatruc
re,

plutôt que de nombreux messages, essayer de voir ce qui ne fonctionne pas et de le préciser .
Mais c'est vrai que c'est plus facile de dire ça marche pas , débrouillez vous!

Je ne sais pas comment vous êtes arrivé à ça, mais dans la boucle For i = 3 To 33 (lignes apparaissant en rouge), tous les espaces de début de ligne ne sont pas reconnus ou interprétés curieusement .(peut-être la mise en forme du forum ??)
Supprimer ces espaces et remettez en forme.

Profitez en pour supprimer la ligne : MsgBox lg

A+
 

Scheerami

XLDnaute Occasionnel
Re
Je comprends ce que vous ressentez Paf
Mais à ma défense, je n'ai fais que faire un copier coller de la macro. Je vous avoue que je ne comprends rien car pour moi c'est du chinois.
J'aimerai beaucoup vous dire j'ai tel problème mais malheureusement j'en suis incapable.
J'ai fait ce que vous m'avez dit.
Les lignes rouges sont redevenues normales.
J'ai supprimé la ligne MsgBox lg,.
A l'essai, au changement de mois ou d'année, la fenêtre s'ouvre avec ERREUR D'EXECUTION '13:' incompatibilité de type et demande le débogage. De plus toutes les cellules des colonnes G et H sont actuellement avec :"#N/A.
Que puis-je faire d'autre S VP
MERCI Scheera(mi)
 
Dernière édition:

Discussions similaires

Réponses
13
Affichages
197

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 989
dernier inscrit
jralonso