Ajout de lignes et Maj de TCD

  • Initiateur de la discussion Initiateur de la discussion alb05
  • 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 !

alb05

XLDnaute Occasionnel
Bonjour
1 - Comment faire pour automatiser la recopie de lignes contenants des formules à côté de lignes nouvellement importées (suite à un copier/coller d'une base externe).

2 - Une fois cette recopie effectuée, je voudrai que les TCD liés à ces données soient mis à jour dans la foulée automatiquement (sur clic bouton) sans avoir à passer sur chaque TCD.

ci joint mon jeu d'essai.

merci de votre aide
 

Pièces jointes

Dernière édition:
Re : Ajout de lignes et Maj de TCD

Bonjour à tous,

Un essai avec :
Code:
Option Explicit

Sub Formules()
Dim DerL As Integer
DerL = Sheets(1).Range("A65536").End(xlUp).Row

    Range("E2:E" & DerL).Formula = _
        "=IF(RC[-4]="""","""",RIGHT(TEXT(YEAR(RC[-4]),0),2)&IF(MONTH(RC[-4])<10,CONCATENATE(""0"",TEXT(MONTH(RC[-4]),0)),TEXT(MONTH(RC[-4]),0)))"
    Range("F2:F" & DerL).Formula = _
        "=IF(RC[-5]="""","""",RIGHT(TEXT(YEAR(RC[-5]),0),2)&IF((INT(MOD(INT((RC[-5]-2)/7)+3/5,52+5/28))+1)<10,CONCATENATE(""0"",TEXT(INT(MOD(INT((RC[-5]-2)/7)+3/5,52+5/28))+1,0)),TEXT(INT(MOD(INT((RC[-5]-2)/7)+3/5,52+5/28))+1,0)))"
    Range("G2:G" & DerL).Formula = "=IF(RC[-6]="""","""",HOUR(RC[-6]))"
    Range("H2:H" & DerL).Formula = _
        "=IF(RC[-7]="""","""",IF(RC[-1]<6,""C"",IF(RC[-1]<14,""A"",""B"")))"
    Range("I2:I" & DerL).Formula = _
        "=IF(RC[-7]="""","""",RIGHT(TEXT(YEAR(RC[-7]),0),2)&IF(MONTH(RC[-7])<10,CONCATENATE(""0"",TEXT(MONTH(RC[-7]),0)),TEXT(MONTH(RC[-7]),0)))"
    Range("J2:J" & DerL).Formula = _
        "=IF(RC[-8]="""","""",RIGHT(TEXT(YEAR(RC[-8]),0),2)&IF((INT(MOD(INT((RC[-8]-2)/7)+3/5,52+5/28))+1)<10,CONCATENATE(""0"",TEXT(INT(MOD(INT((RC[-8]-2)/7)+3/5,52+5/28))+1,0)),TEXT(INT(MOD(INT((RC[-8]-2)/7)+3/5,52+5/28))+1,0)))"
    Range("K2:K" & DerL).Formula = "=IF(RC[-9]="""","""",HOUR(RC[-9]))"
    Range("L2:L" & DerL).Formula = _
        "=IF(RC[-10]="""","""",IF(RC[-1]<6,""C"",IF(RC[-1]<14,""A"",""B"")))"
    ActiveWorkbook.Names.Add Name:="Base_TCD", RefersToR1C1:= _
        "=OFFSET(RQ02!C1:C12,,,COUNTA(RQ02!C1))"
    MsgBox "La base contient " & DerL & " lignes", vbCritical, "Base TCD"
    Range("M1").Select
End Sub

Sub TCD()
ActiveWorkbook.RefreshAll
End Sub
A+ à tous
 

Pièces jointes

Re : Ajout de lignes et Maj de TCD

Bonsoir Alb05, bonsoir JCGL,

En reprenant le code de JCGL, j'aurais plus simplement recopié les formules existantes:

Code:
Sub Formules()
Dim DerL As Integer, DerE As Integer
DerL = Sheets(1).Range("A65536").End(xlUp).Row
DerE = Sheets(1).Range("E65536").End(xlUp).Row
    Range("E" & DerE & ":" & "L" & DerL).Select
    Selection.FillDown
 
ActiveWorkbook.Names.Add Name:="Base_TCD", RefersToR1C1:= _
        "=OFFSET(RQ02!C1:C12,,,COUNTA(RQ02!C1))"
    MsgBox "La base contient " & DerL & " lignes", vbCritical, "Base TCD"
    Range("M1").Select
End Sub

@+

Gael
 
- 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

Réponses
2
Affichages
646
B
Réponses
2
Affichages
1 K
BLUEORANGE
B
D
Réponses
1
Affichages
939
DelphineDF
D
Retour