VBA - Aidez moi
Fermé
Vinceb9
-
2 mars 2012 à 11:50
Pitu Messages postés 1441 Date d'inscription jeudi 3 octobre 2002 Statut Contributeur Dernière intervention 5 janvier 2013 - 2 mars 2012 à 14:28
Pitu Messages postés 1441 Date d'inscription jeudi 3 octobre 2002 Statut Contributeur Dernière intervention 5 janvier 2013 - 2 mars 2012 à 14:28
A voir également:
- VBA - Aidez moi
- Excel compter cellule couleur sans vba - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
- Autofill vba ✓ - Forum Excel
4 réponses
Pitu
Messages postés
1441
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
2 mars 2012 à 12:21
2 mars 2012 à 12:21
Bonjour,
Avec un toggle button, qui basculerait d'un mode de calcul à l'autre, ça donnerait ça (j'y ai ajouté l'encadrement de la zone de saisie)
Voir le classeur ci-joint : https://www.cjoint.com/?BCcmutPNxoI
Avec un toggle button, qui basculerait d'un mode de calcul à l'autre, ça donnerait ça (j'y ai ajouté l'encadrement de la zone de saisie)
Private Sub ToggleButton1_Click() If ToggleButton1 Then Range("A2").Value = Range("A2").Value Range("A3").Formula = "=A1*A2" Range("A3").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Range("A2").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With Else Range("A3").Value = Range("A3").Value Range("A2").Formula = "=A3/A1" Range("A2").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Range("A3").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End If End Sub
Voir le classeur ci-joint : https://www.cjoint.com/?BCcmutPNxoI
Merci pour ta reponse, mais serait-il possible de faire ça sans toggle bouton car sur un devis ça le fait pas trop
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
2 mars 2012 à 13:44
2 mars 2012 à 13:44
Bonjour,
Un modèle sans VBA Voir ce classeur
A+
Un modèle sans VBA Voir ce classeur
A+
Bon ben tanpis merci quand meme
Pitu
Messages postés
1441
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
2 mars 2012 à 13:57
2 mars 2012 à 13:57
Attends, attends ... ya peut-être (sans doute) moyen de mettre le code VBA sur une action sur une cellule plutôt que sur un toggle button ...
Ba oui je pense aussi ... quelqu'un m'a donner ca mais sans explication
Avant toute procédure
Puis ces deux procédures
Avant toute procédure
Dim toto As Boolean
Puis ces deux procédures
Private Sub Worksheet_Change(ByVal Target As Range) Static toto As Boolean If Target = Range("A2") And Not toto Then toto = CInt(Target.Value) Range("A2").Value = Range("A1").Value * Range("A2").Value / 100 toto = True End If End Sub Private Sub azWorksheet_SelectionChange(ByVal Target As Range) If toto = True Then toto = False End Sub
Pitu
Messages postés
1441
Date d'inscription
jeudi 3 octobre 2002
Statut
Contributeur
Dernière intervention
5 janvier 2013
125
2 mars 2012 à 14:03
2 mars 2012 à 14:03
Je reviens sur ce que j'ai dit : Si tu gardes le toggle button, mais que tu lui modifies la valeur de sa propriété PrintObject pour mettre False, ton bouton ne sortira pas à l'impression.
Ca t'irait ?
Ca t'irait ?