insertion ligne et formules

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

U

ungarospy

Guest
Bonjour,

Après avoir passé pas mal de temps à trouver une solution à mon problème , je viens prendre conseil auprès de spécialiste

Mon problème :
J'ai un tableau avec plusieurs lignes et colonnes dans lequel j'aimerais faire des tris et calculs

Ce que j'aimerais avoir :

- insertion d'une ligne entre la ligne dont la cellule de la colonne C= Actual Hist / Market Fcst et une autre insertion quand la cellule de la colonne A change de désignation
- Sur la premiere ligne crée dans la cellule de la Colonne C : Ecrire "ecart Quantity" et la 2ème tjrs en Colonne C "Ecart plan"

- Dans la 1ere ligne insérer, je voudrais le calcul suivant =(Ligne-1) - (Ligne-2)
- Dans la 2nd ligne insérer , = Ligne(-2) - (Ligne-1)

Dans le fichier joint j'ai indiqué sur le 1er item ce que je souhaitais



Merci par avance
 

Pièces jointes

Re : insertion ligne et formules

Bonsoir,

En plaçant le code suivant dans un module ça devrait faire l'affaire
Code:
Sub InsertLigne()

Dim str_item As String

Dim i As Integer

i = 2

str_item = Cells(2, 1)

While Cells(i, 3) <> ""

    If str_item <> Cells(i, 1) Then
    str_item = Cells(i, 1)
    Range(i & ":" & i).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    i = i + 1
    Cells(i - 1, 3) = "Ecart Plan "
   
    Cells(i - 1, 4).Value = Cells(i - 3, 4) - Cells(i - 2, 4)
    ElseIf Cells(i, 3) = "Actual Hist / Market Fcst" Then
    
    Range(i + 1 & ":" & i + 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    i = i + 1
    Cells(i, 3) = "Ecart Quantity"
    Cells(i, 4) = Cells(i - 1, 4) - Cells(i - 2, 4)
    
    
    End If
    

i = i + 1
Wend

End Sub
 
Dernière modification par un modérateur:
Re : insertion ligne et formules

Bonsoir ungarospy,

Avec le code suivant toute les cellules des nouvelles lignes crées seront remplies, jusqu'à ce que la macro détecte la colonne "Total"

Code:
Sub InsertLigne()

Dim str_item As String

Dim i As Integer
Dim j As Integer

i = 2

str_item = Cells(2, 1)

While Cells(i, 3) <> ""

    If str_item <> Cells(i, 1) Then
    str_item = Cells(i, 1)
    Range(i & ":" & i).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    i = i + 1
    Cells(i - 1, 3) = "Ecart Plan "
    j = 4
    While Not Cells(1, j) Like "*Total*"
    Cells(i - 1, j).Value = Cells(i - 3, j) - Cells(i - 2, j)
    j = j + 1
    Wend
    ElseIf Cells(i, 3) = "Actual Hist / Market Fcst" Then
    
    Range(i + 1 & ":" & i + 1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    i = i + 1
    Cells(i, 3) = "Ecart Quantity"
    j = 4
    While Not Cells(1, j) Like "*Total*"
    Cells(i, j) = Cells(i - 1, j) - Cells(i - 2, j)
    j = j + 1
    Wend
    
    End If
    

i = i + 1
Wend

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
1
Affichages
506
S
Réponses
3
Affichages
854
sanae_J
S
A
Réponses
14
Affichages
2 K
adet ruireux
A
N
Réponses
5
Affichages
3 K
Nicocotte125
N
R
  • Question Question
Réponses
0
Affichages
1 K
R
M
Réponses
7
Affichages
1 K
Maxime7
M
L
Réponses
1
Affichages
966
lilidxb
L
N
Réponses
17
Affichages
3 K
ninajams
N
P
  • Question Question
Réponses
1
Affichages
2 K
Patrosso
P
Retour