Bonjour ,
Je vous expose mon " problème " en espérant que quelqu'un puissent m'aider !
Voilà je souhaite créer un programme VBA excel afin qu'il effectue ce qui suit de manière automatique :
1 - On commence par donner le nom de la feuille sur laquelle il va s’exécuter
2 - la colonne qui contient les nom
3- la colonne qui contient les prix
3 - la ligne où il va commencer ( dans la colonne des nom )
( jusqu'ici cava je m'en sort )
Une fois ces paramètres entrer il va commencer à comparer le contenu de la cellule designer ( String ) avec le contenu de la cellule qui suit sur la même colonne 2 ème ligne si le contenue est le même il continue sinon il insère une nouvelle ligne en dessous d'elle ou il va pouvoir faire la somme de la colonne des prix pour ceux qui ont le meme nom puis le mettre en gras !

Je ne suis pas très habitué a VB mais le contenu que j'ai pu trouver dans le site m'a grandement aider a me familiariser avec ce langage ( merci )
Desolé si ce n'est pas très clair ! je joindrais un exemple de feuille avant execution et après execution ( que je ferais manuellement ) pour avoir une meilleur idée de ce que le programme est censé faire

Voilà où j'en suis avec le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Sub For_Each_Next_Colonne()
Dim FL1 As Worksheet, Cell As Range, NoCol1 As Integer, NumLin As Integer
Dim DerLig As Long, Plage As Range
Dim Nom_feuille As String
Dim Var1, adres As String, NoLig As Long, NoCol As Integer
Nom_feuille = InputBox("Veuillez entrer le nom de la feuille ")
    Set FL1 = Worksheets(Nom_feuille)
 
    NoCol1 = InputBox("Veuillez entrer numero de la colonne qui contient les montants ")
    NumLin = InputBox("Veuillez entrer numero de la premiere ligne qui contient les montants ")
    DerLig = Split(FL1.UsedRange.Address, "$")(4)
 
    'où FL1.Range(FL1.Cells(1, NoCol1), FL1.Cells(Derlig, NoCol2)) détermine
    'la plage de cellules à lire
 
    With FL1
        Set Plage = Range(FL1.Cells(NumLin, NoCol1), FL1.Cells(DerLig, NoCol1))
        'Utilisation de l'objet range (Cell) dans une boucle For Each... Next
        For Each Cell In Plage
 
            '*** Récupération des valeurs de plusieurs cellule ***
            'Valeur de la cellule lue
            Var1 = Cell.Value
            If (Var1 = Cell.Offset(1, 0)) Then
            MsgBox ("Ok")
            Else
            MsgBox ("KO") 'je test juste si la condition marche ^^
            End If
 
            adres = Cell.Address
 
            NoLig = Cell.Row
 
            NoCol = Cell.Column
 
 
            Debug.Print adres & " " & NoLig & " " & NoCol & " "
            Debug.Print Var1 & " " & Var2 & " " & Var3
        Next
    End With
    Set FL1 = Nothing
    Set Plage = Nothing
End Sub
C'est pas tres propre je sais mais je debute avec VB et j'ai besoin de quelque points pour valider mon semestre
Merci d'avance ^^