Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 EXCEL VBA 2 tableaux - difficulté pour soustraire données selon critere

pasquetp

XLDnaute Occasionnel
Bonjour a toutes & a tous

deja un grand merci de venir jeter un oeil a mon souci

voici le fichier en piece jointe

deux feuilles: ANALYSE & LIST DEMANDE

en gros pour eviter de vous perdre en explications voici ce que j'aimerai avoir

en FEUILLE ANALYSE: que l'on ait le resultat suivant dans les cellulles de C2 à S26 :

la valeur deja presente dans ces cellules de cette meme page (analyse) MOINS la valeur dans la page LIST DEMANDE bien entendu en prenant en compte les criteres (colonne name et row name) et attention certaines colonnes dans les deux pages ne sont pas au meme endroit

je prefere avoir que du VBA que de melanger vba et formules excel

si des choses sont encore trop vagues, hesitez pas a me le dire

merci infiniment
 

Pièces jointes

  • test.xlsx
    26.3 KB · Affichages: 14

chagatte

XLDnaute Nouveau
Bonjour,

Essaye avec un code comme ceci :

VB:
Sub analyse()



    For i = 2 To 26
    
        v_ligne_analyse = Sheets("ANALYSE").Cells(i, 1)
        
        For j = 0 To 16
        
            v_colonne_analyse = Sheets("ANALYSE").Cells(1, j + 3)
            
            For k = 2 To 26
                
                v_ligne_list_demande = Sheets("LIST DEMANDE").Cells(k, 1)
                
                If v_ligne_list_demande = v_ligne_analyse Then
                
                    For l = 0 To 16
                        v_colonne_list_demande = Sheets("LIST DEMANDE").Cells(1, l + 3)
                        
                        If v_colonne_list_demande = v_colonne_analyse Then
                        
                            Sheets("ANALYSE").Cells(i, j + 3).Value = Sheets("ANALYSE").Cells(i, j + 3).Value - Sheets("LIST DEMANDE").Cells(k, l + 3).Value
                        
                        End If
                        
                    Next l
                    
               End If
            
            Next k
            
        Next j
            
    Next i

End Sub
 

chagatte

XLDnaute Nouveau
Oui, la variable i parcourt les lignes du premier onglet, puis pour chaque ligne on parcourt les colonnes de ce premier onglet avec la variable j. Ensuite on fait de même pour le deuxième onglet avec la variable k et l. On imbrique le tout, quelques nœuds au cerveau plus tard, on arrive au résultat
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…