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

XL 2016 aide pour réaliser une ptite macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chingilou

XLDnaute Junior
voila bonjour je suis super novice en vba
pour faire simple
je voudrais faire un bouton qui me permet de remplir une rangé de de tableau sous certain formule et en même temps une autre rangé sous une autre formule
de D10:197 les chiffres entiers de mon tableau
je voudrais grâce au bouton demandé remplir E10:E197 par cet formule que je n'ai pas su la mettre sous vba [=SI(D10<>"";D10+D10*ENT((ALEA.ENTRE.BORNES(5;10)))%;"")]
et remplir F10:F197 [=SI(D10<>"";D10+D10*ENT((ALEA.ENTRE.BORNES(5;12)))%;""))

comme ca la rangé E et F de mon tableau ne change pas à chaque ouverture du fichier jusqu’au prochain appuie du bouton
merci de votre patiente
 
Bonjour le fil

Si j'ai bien compris la donne
Code:
Sub Macro1()
[E10:E197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,10)))%,"""")"
[F10:F197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,12)))%,"""")"
[E10:F197] = [E10:F197].Value
End Sub
 
plutot ca mais ca me met erreur

Dim Counter As Integer
For Counter = 10 To 196
article = Worksheets("Acceuil").Cells(Counter, 2).Value
h = Worksheets("Acceuil").Cells(Counter, 4).Value
'If article <> "" Then
' Worksheets("Acceuil").Cells(Counter, 5).Value = h+h*INT(Random Between(5;10)))%)
Else: Worksheets("Acceuil").Cells(Counter, 5).Value = ""
 
Re

Bah le +10 varie
Pour t'en convaincre , testes avec la macro ainsi modifiée
Et regardes ensuite les formules dans les cellules
VB:
Sub Macro1_b()
[E10:E197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,10)))%,"""")"
[F10:F197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,12)))%,"""")"
End Sub
 
oui ça marche merci chef mais pas avec la façon que j'ai demander
Ta micro dépose la formule dans les cellule ainsi ça va varier à chaque fois que je change qlq chose dans le fichier en dehors du tableau même ou de l'ouverture du fichier
 
Bonjour Chingilou, Staple, Eastwick,
@Staple,
comme ca la rangé E et F de mon tableau ne change pas à chaque ouverture du fichier jusqu’au prochain appuie du bouton
En mettant une formule c'est recalculé à chaque fois. Je pense que Chingilou veut que les valeurs soient fixes entre deux appui sur un bouton.
Une possibilité peut être :
Code:
Sub Alea()
    Dim L As Integer
    For L = 10 To 196
        If Cells(L, "D") <> "" Then
            Cells(L, "E") = Cells(L, "D") * (1 + Int((Application.RandBetween(5, 10))))
            Cells(L, "F") = Cells(L, "D") * (1 + Int((Application.RandBetween(5, 12))))
        End If
    Next L
End Sub
 
Ou encore en s'inspirant :
Code:
Sub Macro1_b2()
    [E10:E197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,10)))%,"""")"
    [F10:F197].Formula = "=IF(D10<>"""",D10+D10*INT((RANDBETWEEN(5,12)))%,"""")"
    [E10:E197] = [E10:E197].Value
    [F10:F197] = [F10:F197].Value
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…