VBA : fonction array et ajout de colonne

Bonjour à tous,

J'ai un problème qui m'obsède depuis 3 jours sans réussir à le résoudre, en effet dans je n'arrive pas à mettre le résultat ou valeur de certaines check-box a la liste initiale. J'ai eu beau essayé de prendre le problème dans tout les sens .... et pourtant ( le plus vexant) je suis sur que la solution doit être toute simple.

et si quelqu'un pourrait aussi m'aider a mettre en colonne F le recap des actions réaliser ça serait vraiment charitable.

Un grand merci d'avance.

14gmao-erp-qvu-x1.zip (189.39 Ko)

Bonjour, manque pas un bout à vos condition ?

If CheckBox20.Value Then ... if quoi ? if CheckBox20.value=True Then ou If CheckBox20.value =False Then

Bonjour Xmenpl et Maxime10

Oui il manque des tests et je ne vois pas trop comment on retrouve dans la feuille 'Juin' toutes les données correspondant aux checkbox des groupes "Réparation", "Changement", "Installation neuve".

J'aurais bien proposé de mettre le libéllé associé à la checkbox (au lieu de X) mais les mêmes libellés (possibilité de préfixer les libellé par 1-, 2-, 3- car les libellés proposés dans les 3 groupes précités seraient alors uniques.

Il faudrait mettre dans la feuille 'Juin' des entetes de colonnes en correspondance avec tous les libellés de checkbox en y ajoutant les groupes ou je ne comprend pas.

J'ai modifié le code sur UserForm1 et UserForm4 pour coller des X (croix) dans la feuille résultat 'Juin' avec toutes les entêtes de colonnes d'un ou des deux Formulaires (là c'est fonctionnel).

il reste à modifier le UserForm_Initialise pour ajouter automatiquement toutes les colonnes dans la feuille résultat (du mois) avec les libellés des checkbox.

Private Sub CommandButton1_Click()
Dim tabDonnées As Variant
Dim Onglet As Worksheet
Dim derLi As Integer
Dim donnees As String
Dim c 'for checkbox

donnees = TextBox1.Value + "¤" + ComboBox2.Value + "¤" + ComboBox3.Value + "¤" + TextBox4 + "¤" + ComboBox4.Value & Chr(10) & ComboBox5

tabDonnées = Split(donnees, "¤")
Dim mAllChecked As String

mAllChecked = ""
For Each c In UserForm1.Controls
   If LCase(TypeName(c)) = "checkbox" Then
    If c.Value Then
       mAllChecked = mAllChecked + c.Caption + "¤"
    End If
  End If
NextSet Onglet = Sheets(Format(CDate(TextBox1), "mmmm"))
derLi = Onglet.Columns(1).Find("*", , , , , xlPrevious).Row + 1
Onglet.Range("A" & derLi & ":" & lettreFin & derLi).Value = tabDonnées
Dim tabChecked() As String
ReDim tabChecked(0)
Dim PlageDeRecherche, trouve
Dim i, col
tabChecked() = Split(mAllChecked, "¤")
For i = 1 To UBound(tabChecked)
    Set PlageDeRecherche = Onglet.Rows(1)
    Set trouve = PlageDeRecherche.Range("1:1").Find(What:=tabChecked(i), LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext)
    If Not trouve Is Nothing Then
        Onglet.Range(Mid(trouve.Address, 1, InStr(2, trouve.Address, "$") - 1) & "$" & derLi) = "X"
   End If
Next
Unload Me
End Sub

re-bonjour,

pour les conditions je le règle depuis les propriétés.

En effet, il manque les colonnes mais étant mon document bêta j'ai oublier de les faire apparentent j'essai de mettre les petites coches avant de finaliser.

Scraper en essayant se code j'ai toujours un message d'erreur.

sois je commence être de plus en plus mauvais ou alors les joies d'être devenus fonctionnaire

Rechercher des sujets similaires à "vba fonction array ajout colonne"