Se connecter avec
S'enregistrer | Connectez-vous

pb d'ajout d'une variable a une constante sur VB [reglé]

Dernière réponse : dans Programmation

Bonjour à tous et toutes j'ai un petit soucis avec ma dernière macro sur vb, j'aimerai cacher plusieurs collonne en fonction d'un resultat d'une cellule.
Voici la macro que j'ai enregistrer sur excel:

Sub test()
Dim classe As Single
Dim A As Single

classe = E10
A = 14 + classe
Range("H14").Select
ActiveCell.FormulaR1C1 = "1"
Range("I14").Select
ActiveCell.FormulaR1C1 = "2"
Range("H14:HA").Select
Selection.AutoFill Destination:=Range("H14:HA"), Type:=xlFillDefault

End Sub

Dans ce test la cellule E10 est l'endroit ou j'obtient le resultat qui me permet de définir le nombre de collonne a cacher.
Les seuls collonne visible doivent être de H14 à H14 + resultat de la cellule E10.
Comme vous pourrez le voir j'ai essayer de resoudre mon problème en enregistrant une macro puis en la bricolant ( car j'ai très peu de connaissance en vb ) .
Quelqu'un pourrait il m'aider ???? ^^
merci d'avance pour toutes vos réponses

Autres pages sur : ajout variable constante regle

Lassé par la pub ? Créez un compte

A tester et adapter
  1. Option Explicit
  2.  
  3. Sub Tst()
  4. Dim NumCol As Integer, Col2Lettre As String
  5. Dim NbCol As Integer
  6. Application.ScreenUpdating = False
  7. Cells.EntireColumn.Hidden = False
  8. If IsNumeric(Range("E10")) Then
  9. NbCol = CInt(Range("E10"))
  10. Select Case NbCol
  11. Case 0
  12. NumCol = 9
  13. Case Else
  14. NumCol = 8 + NbCol
  15. End Select
  16.  
  17. Col2Lettre = NumCol2Lettre(NumCol)
  18. Columns(Col2Lettre & ":IV").EntireColumn.Hidden = True
  19. End If
  20. Application.ScreenUpdating = True
  21. End Sub
  22.  
  23. Private Function NumCol2Lettre(ByVal NCol As Integer) As String
  24. Dim i As Long, x As Long,s as String
  25. For i = 6 To 0 Step -1
  26. x = (26 ^ (i + 1) - 1) / 25 - 1
  27. If NCol > x Then
  28. s= s & Chr(((NCol - x - 1) \ 26 ^ i) Mod 26 + 65)
  29. End If
  30. Next i
  31. NumCol2Lettre=s
  32. End Function
Lassé par la pub ? Créez un compte