Compteur automatisé dans useform

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour Moustic,

Oui c'est normal, je te laisse un peu de boulot :p avec les explications tu dois y arriver, sinon tu redemandes ;)

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

No problemo, Martial :)

Une question sans rapport :
2 TextBox identiques (TextBoxA = TextBoxB)


Le code serait :

Private Sub TextBoxA_Change()
Dim Cel As Range, Rng As Range, i

If TextBoxA = "" Then Exit Sub
TextBoxB= TextBoxA.value
TextBoxB.enable = True

End Sub

Beaucoup d'erreurs ? :confused:
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Oui, ça doit fonctionner, mais :
- Pourquoi .value ?
- Pourquoi ne fais-tu pas un essai ?
- Je ne vois pas trop l'intérêt ...
A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Yahoo,

Je reviens vers toi car j'ai des difficultés à combiner plusieurs conditions avec Si :confused:


VB:
Private Sub CheckBox1_Change()
If CheckBox1 = True Then
  'alors
  TextBox6.Enabled = True
 Else
  'sinon
  CheckBox1 = False: TextBox6 = "": TextBox6.Enabled = False
End If
End Sub
A+

Un exemple de combinaison

Si TextBox.value = "DDD" alors
TextBox1.Enabled = True
TextBox2. Enabled = True
Sinon TextBox1="" : TextBox1.Enabled = True: TextBox2="" : TextBox2.Enabled = True


Si TextBox.value = "XXX XXXc" ou "aaaa" alors
TextBox3.Enabled = True
TextBox4. Enabled = True
TextBox5.Enabled = True
TextBox6. Enabled = True
Sinon TextBox3="" : TextBox3.Enabled = True: TextBox4="" : TextBox4.Enabled = True : TextBox5="" : TextBox5.Enabled = True: TextBox6="" : TextBox6.Enabled = True

Si TextBox.Value = "JJ KKKJ " alors
TextBox4. Enabled = True
TextBox5.Enabled = True
TextBox6. Enabled = True
TextBox7.Enabled = True
TextBox8. Enabled = True
TextBox9. Enabled = True
Sinon TextBox4="" : TextBox4.Enabled = True : TextBox5="" : TextBox5.Enabled = True: TextBox6="" : TextBox6.Enabled = True : TextBox7="" : TextBox7.Enabled = True: TextBox8="" : TextBox8.Enabled = True: TextBox9="" : TextBox9.Enabled = True

Voix-tu ce que je voudrais faire ? :eek:

Merci d'avance pour ton aide
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bonjour moustic,

S'il s'agit du même TextBox, ce n'est pas possible, puisque tu demandes :
Si A = 1 alors B sinon alors C, Si A = 2 alors D sinon alors E etc...

Si A n'est pas = 1 alors tu vas avoir C mais ta 2eme condition arrive Si A n'est pas = 2 alors tu vas avoir E et non C comme tu avais avec ta première condition pourtant A n'est pas = à 1.

Tu peux faire à la rigueur avec Select Case mais tu n'auras toujours plusieurs conditions si tes conditions ne sont pas vraies.

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonsoir Yahoo

Non il ne s'agit pas de la même Textbox ... Je me suis trompé dans mon exemple :eek:

Ci-dessous rectifié

Si TextBox66.value = "DDD" alors
TextBox1.Enabled = True
TextBox2. Enabled = True
Sinon TextBox1="" : TextBox1.Enabled = True: TextBox2="" : TextBox2.Enabled = True


Si TextBox66.value = "XXX XXXc" ou "aaaa" alors
TextBox3.Enabled = True
TextBox4. Enabled = True
TextBox5.Enabled = True
TextBox6. Enabled = True
Sinon TextBox3="" : TextBox3.Enabled = True: TextBox4="" : TextBox4.Enabled = True : TextBox5="" : TextBox5.Enabled = True: TextBox6="" : TextBox6.Enabled = True

Si TextBox66.Value = "JJ KKKJ " alors
TextBox4. Enabled = True
TextBox5.Enabled = True
TextBox6. Enabled = True
TextBox7.Enabled = True
TextBox8. Enabled = True
TextBox9. Enabled = True
Sinon TextBox4="" : TextBox4.Enabled = True : TextBox5="" : TextBox5.Enabled = True: TextBox6="" : TextBox6.Enabled = True : TextBox7="" : TextBox7.Enabled = True: TextBox8="" : TextBox8.Enabled = True: TextBox9="" : TextBox9.Enabled = True
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Re,

Pourquoi toujours le TextBox66 dans les 3 cas :confused:
Donc toujours la même problématique.

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Yaloo

En fait en fonction du contenu de la TexBox66, les TexBox de 1 à 9 pourront être dévalidées et renseignées.

Mais ceci n'est pas possible à réaliser ? :confused:
C'est çà, Yaloo ?
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

C'est bien ça, ta demande serait plutôt réalisable avec un ComboBox.
Car avec un ComboBox, c'est soit DDD ou XXX XXXc ou aaaa ou JJ KKKJ. Dans ce cas, nous pourrons utiliser Select Case.
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Si je mets un ComboBox en lieu et place de ma TextBox 66, le code serait lequel alors ?
Puisque nous aurons toujours les 4 cas sans doute 2 supplémentaires à envisager, non ? :confused:

De plus, je risque de rencontrer un nouveau problème, en plus du ComboBox, il faudra également et surtout (1ere condition) que mon OptionButton1 soit actif.

Cela me paraît encore plus complexe :eek:
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Bin en fait, il vaut mieux tourner 7 fois sa langue dans sa bouche avant de dire une bêtise, ce que je n'ai pas fait :(
Ça ne peut pas fonctionner non plus, le cas est exactement le même.

Je ne vois pas de solution, si quelqu'un passe par là, qu'il n'hésite pas :)
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Un autre question, Yaloo

Comment ouvrir un fichier sur une feuille donnée en masquant les onglets, invalidant les barres de formules, les titres, les quadrillages ... sans que l'utilisateur puisse les remettre sauf en utilisant un code ?

J'ai vu également qu'il était possible de partager un fichier Excel 2007 par réseau, est ce que cela signifie que plusieurs utilisateurs peuvent travailler de concert sur un même fichier ?

Quant au problème des conditions du Textbox ou ComboxBox, je devrais peut-être ouvrir un nouveau fil... Qu'en penses-tu ?
 
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

VB:
Dim Ws As Worksheet
'Pour toutes les feuilles du classeur
For Each Ws In Worksheets
  'Si l'index de la feuille n'est pas 1 alors on cache vraiment la feuille
  If Ws.Index <> 1 Then Ws.Visible = 2
'Feuille suivante
Next
'Avec la fenêtre active
With ActiveWindow
  'On cache l'ascenceur horizontal puis le vertical
  .DisplayHorizontalScrollBar = 0
  .DisplayVerticalScrollBar = 0
  'On cache les onglets
  .DisplayWorkbookTabs = 0
  'On cache les entêtes
  .DisplayHeadings = 0
  'On cache le quadrillage
  .DisplayGridlines = 0
End With
'On cache la barre de formule
Application.DisplayFormulaBar = 0
'On cache le ruban, 100 à modifier si besoin, faire des essais
If Application.CommandBars.Item("Ribbon").Height > 100 Then
  Application.SendKeys "^{F1}"
End If
Pour les fichiers en réseaux, d'après mes tests (pas très poussés ;)) un fichier n'est pas modifiable par 2 personnes en même temps. Par contre, celui-ci peut être consulté.

A+
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Merci Yaloo pour ta formule :D
mais le fait de masquer les onglets, ascenseurs ... ne s'appliquent qu'à la feuil1 que l'on peut nommer "edito"

Est-il possible de l'appliquer également à l'ensemble des feuilles du classeur ou qu'à certaines d'entre elles (Feuil1, feuil3, feuil4, feuil7....) :confused:
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

Oui, tout simplement en incluant ce que tu souhaites cacher dans la boucle For Each
 

Yaloo

XLDnaute Barbatruc
Re : Compteur automatisé dans useform

VB:
Dim Ws As Worksheet
For Each Ws In Worksheets
  With ActiveWindow
    .DisplayHorizontalScrollBar = 0
    .DisplayVerticalScrollBar = 0
    .DisplayWorkbookTabs = 0
    .DisplayHeadings = 0
    .DisplayGridlines = 0
  End With
  If Ws.Index <> 1 Then Ws.Visible = 2
Next
Application.DisplayFormulaBar = 0
If Application.CommandBars.Item("Ribbon").Height > 100 Then
  Application.SendKeys "^{F1}"
End If
Pour cacher le ruban, il faut lancer la macro par un bouton ou à l'ouverture du fichier avec Open dans ThisWorkbook
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Merci beaucoup Yaloo
J'ai toujours du mal à comprendre et mettre tes deux derniers codes bout à bout :eek:
Je vois bien la boucle mais je ne vois pas les lignes qui permettent de l'activer que sur certaines feuilles du classeur.
Idem pour l'ouverture du fichier sur la feui1 ou Edito :eek:


Je crois que je vais tester demain, le cerveau moins embrumé, et revenir car je crains d'avoir des problèmes pour la mise en œuvre. :eek: :eek:
 

moustic54

XLDnaute Occasionnel
Re : Compteur automatisé dans useform

Bonjour Yaloo

Merci pour ton fichier Test. :D

J'ai des questions :
N'est-il pas possible d'invalider dans le menu l'onglet "affichage" car grâce à lui, malgré le code, il reste possible à l'utilisateur de remettre ou d'activer les barres de formules, les titres ....?

Je me suis aperçu que le lancement du code (masquer de nombreuses options) laissait Excel dans cette configuration.
Un autre souci qui n'est pas évident, est de remettre tout en ordre une fois que le fichier contenant ce code soit fermé sans avoir recours au lancement via 1 bouton de la procédure :confused:

Je ne sais pas si je me fais bien comprendre
 

Discussions similaires


Haut Bas