Calcul depuis une ligne précédente

moi60

XLDnaute Junior
Salut le forum,

Je reviens vers vous, car comme vous vous en doutez, j'ai (encore) un petit problème.

Je rentre des données depuis ma userform que j'enregistre ensuite dans un tableau.
Code:
                    Application.ScreenUpdating = False
                    Sheets("data").Unprotect password:="fabien"
                        With Sheets("data")
                        intline = .Range("A65000").End(xlUp).Row + 1
                        .Range("a" & intline).Value = DateValue(TextBoxDate.Value)
                        .Range("b" & intline).Value = TextBoxName.Text
                        .Range("c" & intline).Value = ComboBoxPresa.Text
                        .Range("d" & intline).Value = ComboBoxCuib.Text
                        .Range("e" & intline).Value = TextBoxIndex.Text

J'ai donc en A une date, en B un nom, en C un code, en D un deuxieme code, et en E un chiffre.

Je voudrais chercher dans les lignes précédentes du tableau la derniere ligne dont les code C et D sont identiques à ceux-là, et soustraire en F la nouvelle valeur de E avec la précédente.

J'ai donc le code suivant (qui vous vous en doutez, ne fonctionne pas!) :
Code:
Dim i as long
Dim derligne As Integer
For i = derligne To 1 Step -1
                        If Cells(i, 3).Text = ComboBoxPresa.Text Then
                            If Cells(i, 4).Text = ComboBoxCuib.Text Then
                            .Range("f" & intline).Value = Cells(i, 4).Text - TextBoxIndex.Text
                            Exit For
                            End If
                        End If
                        Next i
                        derligne = i

J'espère avoir été assez clair car je ne peux copier mon fichier, beaucoup trop gros même après avoir mis l'essentiel! Sur ceux, bon weekend à vous et merci d'avance,

Moi
 

moi60

XLDnaute Junior
Re : Calcul depuis une ligne précédente

Salut tout le monde,

Après mettre tiré les cheveux pendant 2j, j'ai enfin trouvé! Merci à Robert pour le code que j'ai copié d'un autre post. Le programme est un peu long mais je pense que c'est à cause de la boucle. SI quelqu'un à une idée plus light.... Voila le code pour ceux que ca intéresse ...

Code:
                    Application.ScreenUpdating = False
                    Sheets("data").Unprotect password:="fabien"
                    Sheets("data").Visible = True
                        Sheets("data").Select
                        
                        Range("C10").Select
                            ActiveSheet.Unprotect password:="fabien"
                            Selection.AutoFilter
                            Sheets("data").ListObjects("tabData").Range.AutoFilter Field:=3, Criteria1:=ComboBoxPresa.Text
                            Sheets("data").ListObjects("tabData").Range.AutoFilter Field:=4, Criteria1:=ComboBoxCuib.Text
                        With Sheets("data")
                        For y = Range("E65536").End(xlUp).Row To 11 Step -1
                               If Cells(y, 5).EntireRow.Hidden = False Then
                                    
                                   AvantDer = .Cells(y, 5).Value
                                    Range("C10").Select
                                    ActiveSheet.ShowAllData
                                    Selection.AutoFilter
                                    Exit For
                                End If
                            Next y
                            
                     intline = .Range("A65000").End(xlUp).Row + 1

                    .Range("f" & intline).Value = Val(TextBoxIndex) - AvantDer
 

Discussions similaires

Réponses
6
Affichages
286

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom