XL 2013 insértion des lignes avec données onglet précédent (Résolu Par JOB75)

susaita

XLDnaute Occasionnel
Bonjour à tous Les forumeurs & les forumeuses,

dans l'exemple ci-joint j'ai un code avec lequel je fais l'incrémentation des onglets et qui marche sans problème.
maintenant ce que je désire ajouter c'est en passant de l'onglet CT-01 a CT-02 et de CT-02 à CT-03 :
***une ligne doit s'ajouter en dessous de la ligne 16 et les données de la cellule F23 de l'onglet CT-01 doit être copié dans la cellule F17 de CT-02
puis les données de la cellule L25 de l'onglet CT-01 doit être copié dans la cellule L17 de CT-02.
***en passant de CT-02 a CT-03 une ligne s'ajoute en dessous de la ligne 17 et les données de la cellule F23 de l'onglet CT-02 doit être copier dans la cellule F18 de l'onglet CT-03.
puis les données de la cellule L25 de l'onglet CT-02 doit être copié dans la cellule L18 de CT-03
****en faisant double clique sur la cellule C44 un message s'affiche permettant d'insérer la date (en prenant la 1ère lettre du mois en majuscule)


Merci d'avance
 

Pièces jointes

  • Constat.xlsm
    42 KB · Affichages: 64
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour susaita, le forum,

Voyez le fichier joint et cette macro :
Code:
Sub CONSTAT()
Dim w As Worksheet, n%, f As Worksheet, vis, lig&
For Each w In Worksheets
  If Left(w.Name, 3) = "CT-" Then
    If Val(Split(w.Name, "-")(1)) > n Then
      n = Val(Split(w.Name, "-")(1))
      Set f = w
  End If
End If
Next
If n Then
  Application.ScreenUpdating = False
  Application.Goto ActiveSheet.[A1], True 'cadrage
  vis = f.Visible
  f.Visible = True 'si la feuille est masquée
  f.Copy After:=Sheets(Sheets.Count)
  f.Visible = vis
  With Sheets(Sheets.Count)
    .Name = "CT-" & Format(n + 1, "00")
    lig = .[B:B].Find("DESCRIPTION*", , xlValues).Row
    With .Range("F16:F" & lig).Find("").EntireRow
      .Insert
      .Cells(0, "F") = "='" & f.Name & "'!F" & lig
      .Cells(0, "L") = "='" & f.Name & "'!L" & lig + 2
    End With
    Application.Goto .[A1], True 'cadrage
  End With
End If
End Sub
Nota 1 : il y avait plein de noms masqués (???) je les ai tous supprimés, certains étaient nuisibles.

Nota 2 : pour le cas où la feuille copiée est masquée, je vais appliquer la méthode à vos 2 discussions précédentes.

A+
 

Pièces jointes

  • Constat(1).xlsm
    33.9 KB · Affichages: 51

susaita

XLDnaute Occasionnel
Bonjour Job,
Merci infiniment pour ce parfait travail
oui je viens de constater dans mon ancien fichier qu'il y'avait des noms masqués
maintenant je passe à la 2ème demande de ce fichier que je ne sais pas si c'est possible de réaliser :
j'ai fait un exemple à la main sur le fichier que vous avez joint

dans l'onglet CT-05 on suppose que les travaux ne sont pas à 100% dans cet exemple 60%. donc en passant à CT-06 :

***les données de la cellule F27 de l'onglet CT-05 ne doivent pas être copiés sur F21 de l'onglet CT-06 et dans ce cas les données de F27 resteront les mêmes dans CT-06
***une ligne s'ajoute en dessous de la ligne F29 qui va nous permettre de mettre le pourcentage restant
****G29 on met le moi précedent
****G30 on met le mois courant
****K42 de l'onglet CT-05 doit egale le montant total de la situation multiplié fois le pourcentage
dans cet onglet et comme on peut constater dans la feuille echeancier le montant total est 12 500 00 puis le pourcentage et 60% et on autra 7 500 00 comme dans K42 de CT-05

maintenant en passant à CT-07 :
****la ligne qui s'est ajouté dans CT-02 ou on à mis le 2ème pourcentage doit s'effacer
***puisque les travaux sont a 100% les données de F27 de CT-06 vont monter automatiquement dans F21 de CT-07 comme vous avez fait dans la 1ère version du code
***le pourcentage se met automatiquement a 100% en attendant si on va le changer ou non
***dans F28 et K43 on aura les données de la nouvelle situation
 

Pièces jointes

  • Constat(1).xlsm
    76.1 KB · Affichages: 43

job75

XLDnaute Barbatruc
Bonsoir susaita, le forum,

C'était compliqué mais intéressant, je reviens donc.

Voyez ce fichier (2) et les macros Incrementer et Workbook_SheetChange.

Cette dernière permet des modifications sur une feuille mensuelle uniquement s'il s'agit de la dernière créée.

Et tâchez de bien comprendre les formules en L16-F23-L25-K38 et les 2 créées par la macro.

Bonne nuit.
 

Pièces jointes

  • Constat(2).xlsm
    42.7 KB · Affichages: 50

susaita

XLDnaute Occasionnel
Bonjour Job,

je ne sais vraiment pas quoi vous dire, je me suis dit que ce n'est pas possible de réaliser ça...Merci infiniment pour votre soutien..vous avez bien répondu sur ce que je voulais , il reste juste des petites modifications à faire pour que le fichier soit vraiment complet :
*****les mois des pourcentages doivent être dans la colonne G et non pas E
*****dans votre fichier ci-joint que j'ai changé à la main pour montrer les modifications souhaitées :
en passant de CT-01 vers CT-02 avec un pourcentage de 60% une 2ème ligne s'est crée comme je souhaitais, et quand je mets par exemple 30% et je passe à CT-03 il ne faut pas rassembler les deux mois en 90% mais il faut les garder comme ils sont et insérer une 3ème ligne ou je mettrai les 10% qui reste.
****si je mets par exemple 20% au lieu de 10% qui reste pour arriver à 100% un message doit m'interdire et m'informer qu'il me reste juste 10% à avancer dans cette situation
***maintenant puisque dans CT-03 on a ajouté les 10% qui reste et l'ensemble de 60%+30%+10% fait 100% , donc dans CT-04 il faut passer directement à la 2ème situation (Travaux de la 2ème tranche) en supprimant les 2 lignes qui sont ajoutées
****la date en C44 je désire la saisir en faisant un double clique avec un message affichant me demande d’insérer la date

NB: dans ce cas la situation était répartie en 3 il se peut que ce soit en 4 ou 5

Cordialement,
Susaita
 

Pièces jointes

  • Constat(3).xlsm
    68.3 KB · Affichages: 43

job75

XLDnaute Barbatruc
Bonjour susaita, le forum,

Désolé mais je resterai sur un maximum de 2 mois pour les pourcentages, c'est déjà assez compliqué comme ça.

Par contre il y avait une chose importante à faire.

Dans un même mois, quand une tranche de travaux est terminée, la suivante pourrait avoir été commencée.

Dans ce fichier (3) un message permet donc de choisir si l'on passe au mois suivant ou si l'on reste sur le même mois.

Il n'y a plus de formule en L3, et L5 peut s'incrémenter.

A+
 

Pièces jointes

  • Constat(3).xlsm
    40.8 KB · Affichages: 48

susaita

XLDnaute Occasionnel
Re,
est ce que vous pouvez au moins ajouter un 3ème mois pour les pourcentages..juste un autre??
*****pour le dernier fichier que vous avez joint j'ai mis 50% dans le premier mois et 50% dans la 2ème et CT-03 on est passé à la 2ème situation mais le mois en G25 apparait toujours chose qu'il faut pas parce c'est une nouvelle situation comme CT-01
****dans CT-02 pour le 2ème mois est ce que c'est possible si je mets 60% chose qui donne 110% d'avoir un message qui m'interdit en me rappelant que je ne peux pas avancer plus que 50% vu que j'ai dèjà avancé 50%??
****L3=C44 que je vais insérer en faisant un double clique
 

Pièces jointes

  • Constat(3).xlsm
    50.3 KB · Affichages: 41
Dernière édition:

job75

XLDnaute Barbatruc
Re,

Dans ce fichier (4) j'ai mis dans la Workbook_SheetChange un contrôle des pourcentages.

Des messages d'alerte seraient très superflus, en programmation il faut toujours être soft.

Un contrôle du double-clic en C44 est tout à fait inutile, entrez manuellement la date que vous voulez !

Ou à la rigueur mettez-y la formule =L3 !!

A+
 

Pièces jointes

  • Constat(4).xlsm
    44.3 KB · Affichages: 45

susaita

XLDnaute Occasionnel
re,
je me suis peut être mal exprimé sur mon dernier post sur ces deux point:
***dans le fichier ci-joint que vous avez posté dans CT-03 G25 ne doit pas comporter aucune date parce que c'est une nouvelle situation et si on met un pourcentage de 100% il va apparaitre dans la prochaine situation CT-04
****L3 doit dependre de la date que je vais saisir sur C44 parce qu'il sera pas toujours 31 ou 30 du mois il se peut que je mette dans C44 21 ou 18

NB***pour le pourcentage des mois j'aurais voulu avoir au moins 3 c'est suffisant mais bon comme ça va vous casser la tête c'est pas grave
 

Pièces jointes

  • Constat(4).xlsm
    51.3 KB · Affichages: 45

Discussions similaires

Statistiques des forums

Discussions
312 079
Messages
2 085 129
Membres
102 788
dernier inscrit
Remy003