XL 2016 Insertion lignes + Copie formules ligne du dessous/dessus sur deux feuilles

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

lilidxb

XLDnaute Nouveau
Bonjour le forum!

J’imagine qu'elle a été traitée de nombreuse fois cependant tout ce que j'essaie d'adapter ne fonctionne pas. Je m'explique.
A l'aide d'un UserForm j'insère des données de façons différentes dans deux pages différentes.

Dans la page 1 "WORKLOAD" j'ai besoin de récupérer la formule de la colonne K de la ligne du dessous mais dans la deuxième feuille j'ai besoin qu'elle récupère les formules de la ligne du dessus de la colonne P a R.

Voici l'insertion de mes valeurs dans la page 1 intitule Workload:

VB:
Dim ligne As Integer
Worksheets("WORKLOAD").Select
ligne = Sheets("WORKLOAD").Range(Ma_valeur).Offset(1, 0).Row
Cells(ligne, 1).EntireRow.Select

   Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
    Selection.Borders.LineStyle = xlContinuous
    Selection.Borders.ThemeColor = 1
    Selection.Interior.ColorIndex = 2
    Selection.Borders.TintAndShade = -0.249977111117893
    Selection.Borders.Weight = xlThin
 
Cells(ligne, 1) = ComboBox1.Value
Cells(ligne, 2) = ComboBox2.Value
Cells(ligne, 3) = TextBox1.Value
Cells(ligne, 4) = TextBox2.Value
Cells(ligne, 5) = TextBox3.Value
Cells(ligne, 6) = ComboBox4.Value
Cells(ligne, 7) = Eqpt.Value
Cells(ligne, 8) = ComboBox3.Value
Cells(ligne, 9) = ComboBox5.Value
Cells(ligne, 10) = ComboBox6.Value

Et voici le code d'insertion dans la deuxième page intitulee DP:
J'ai essayé d'adapter plusieurs codes dont celui-ci dessous mais ces derniers ne fonctionnent pas.

Code:
Dim i As Integer
Dim l As Integer

Application.EnableEvents = False
Application.ScreenUpdating = False

l = Sheets("DP").Range("A1000").End(xlUp).Row + 1

l.Offset(-1, 0).EntireRow.Copy Cells(l.Row, 1)

On Error Resume Next
l.EntireRow.SpecialCells(xlCellTypeConstants, xlNumbers + xlTextValues + xlLogical + xlErrors).ClearContents

With Sheets("DP")
i = .Range("A1000").End(xlUp).Row

.Range("K" & i + 1).Value = "EHO"
.Range("K" & i + 2).Value = "KO"
.Range("K" & i + 3).Value = "Delivery"
.Range("K" & i + 4).Value = "IS"
.Range("K" & i + 5).Value = "FSP"
.Range("K" & i + 6).Value = "CAV"

.Range("L" & i + 1).Value = Start1.Value
.Range("L" & i + 2).Value = Start2.Value
.Range("L" & i + 3).Value = Start3.Value
.Range("L" & i + 4).Value = Start4.Value
.Range("L" & i + 5).Value = Start5.Value
.Range("L" & i + 6).Value = Start6.Value

.Range("M" & i + 1).Value = SW1.Value
.Range("M" & i + 2).Value = SW2.Value
.Range("M" & i + 3).Value = SW3.Value
.Range("M" & i + 4).Value = SW4.Value
.Range("M" & i + 5).Value = SW5.Value
.Range("M" & i + 6).Value = SW6.Value

.Range("N" & i + 1).Value = Wor1.Value
.Range("N" & i + 2).Value = Wor2.Value
.Range("N" & i + 3).Value = Wor3.Value
.Range("N" & i + 4).Value = Wor4.Value
.Range("N" & i + 5).Value = Wor5.Value
.Range("N" & i + 6).Value = Wor6.Value


.Range("O" & i + 1).Value = Dur1.Value
.Range("O" & i + 2).Value = Dur2.Value
.Range("O" & i + 3).Value = Dur3.Value
.Range("O" & i + 4).Value = Dur4.Value
.Range("O" & i + 5).Value = Dur5.Value
.Range("O" & i + 6).Value = Dur6.Value

For i = l To l + 5

.Range("A" & i).Value = ComboBox1.Value
.Range("B" & i).Value = TextBox2.Value
.Range("C" & i).Value = ComboBox2.Value
.Range("D" & i).Value = TextBox1.Value
.Range("E" & i).Value = TextBox3.Value
.Range("f" & i).Value = ComboBox4.Value
.Range("G" & i).Value = Eqpt.Value
.Range("H" & i).Value = ComboBox3.Value
.Range("I" & i).Value = ComboBox5.Value
.Range("J" & i).Value = ComboBox6.Value

Next

End With
    
End Sub

Je vous joins bien sur mon fichier allégé et adapté en version de test.

Je précise que mon insertion fonctionne relativement bien mais lorsque je veux copier les formules tout plante.

Je ne sais pas quelle est la meilleure approche, faut il inserer une ligne de code copiant les formules (dessus/dessous) ou plutot inserer un code qui ecrit les formules directement et les place au bon endroit?

Merci beaucoup par avance !
 

Pièces jointes

Petit up 🙂

J'ai reussi a trouver une solution pour la premiere page en utilisant ceci:

VB:
Cells(ligne, 11).FormulaLocal = "=IFNA(VLOOKUP(D" & ligne & ";Current_phase!A:B;2;);)"

Cependant pour le reste je n'y arrive pas, j'y suis depuis ce matin...

Merci !
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
500
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
78
Réponses
3
Affichages
519
Réponses
5
Affichages
495
Réponses
5
Affichages
490
Retour