Bonjour le forum,
Je refais un tableau avec une recherche de prix sur une autre feuille en utilisant ce code VBA et des checkbox :
Public Sub cocher()
Dim i As Byte, ligne As Byte
Dim chk
ligne = 25
For Each chk In Array(1, 2, 3, 4, 5, 6, 7, 8, 10, 27)
If Controls("Checkbox" & chk) = True Then
Select Case chk
Case 1, 2, 3, 4, 5, 6, 7, 8
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 51, 1)
Cells(ligne, "l") = .Cells(chk + 51, 3)
End With
Case 10
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 50, 1)
Cells(ligne, "n") = .Cells(chk + 50, 5)
End With
Case 27
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 35, 1)
Cells(ligne, "n") = .Cells(chk + 35, 5)
End With
End Select
ligne = ligne + 1
End If
Next chk
End Sub
Ça fonctionne à merveille mais est-ce que l'on pourrait m'expliquer à quoi correspondent les chiffres après .Cells(chk + ou - et un numéro. Ce numéro ne correspond pas à la ligne du tableau 1,2,3,4 etc mais ça me paraît aléatoire (ce qui m'étonnerait beaucoup dans Excel). Comme j'ai refais ma grille de tarification et changé pas mal la mise en page, je galère pour trouver la bonne ligne (au pif !...) alors que je suis sûr qu'il y a une logique, mais je ne la comprend pas.
Je prends par exemple, la ligne A52 et pour trouver cette ligne ça se transforme en .Cells(chk + 51, 1) alors que la ligne a60 c'est égal à .Cells(chk + 50, 1)
Merci de votre aide.
Je refais un tableau avec une recherche de prix sur une autre feuille en utilisant ce code VBA et des checkbox :
Public Sub cocher()
Dim i As Byte, ligne As Byte
Dim chk
ligne = 25
For Each chk In Array(1, 2, 3, 4, 5, 6, 7, 8, 10, 27)
If Controls("Checkbox" & chk) = True Then
Select Case chk
Case 1, 2, 3, 4, 5, 6, 7, 8
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 51, 1)
Cells(ligne, "l") = .Cells(chk + 51, 3)
End With
Case 10
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 50, 1)
Cells(ligne, "n") = .Cells(chk + 50, 5)
End With
Case 27
With Sheets("Tarif")
Cells(ligne, 9) = .Cells(chk + 35, 1)
Cells(ligne, "n") = .Cells(chk + 35, 5)
End With
End Select
ligne = ligne + 1
End If
Next chk
End Sub
Ça fonctionne à merveille mais est-ce que l'on pourrait m'expliquer à quoi correspondent les chiffres après .Cells(chk + ou - et un numéro. Ce numéro ne correspond pas à la ligne du tableau 1,2,3,4 etc mais ça me paraît aléatoire (ce qui m'étonnerait beaucoup dans Excel). Comme j'ai refais ma grille de tarification et changé pas mal la mise en page, je galère pour trouver la bonne ligne (au pif !...) alors que je suis sûr qu'il y a une logique, mais je ne la comprend pas.
Je prends par exemple, la ligne A52 et pour trouver cette ligne ça se transforme en .Cells(chk + 51, 1) alors que la ligne a60 c'est égal à .Cells(chk + 50, 1)
Merci de votre aide.