Bonjour à tous et excusez-moi de venir vous déranger une fois de plus.
Je suis actuellement en train de rédiger une macro qui a pour but de remplir une feuille (CFR) à partir d'un Userform (Nouvelle Garniture) préalablement rempli par l'utilisateur. C'est assez simple, il va piocher les données rentrées dans les 2 TextBox de mon formulaire qu'il va insérer dans 2 colonnes différentes, et ensuite, il va remplir les colonnes suivantes avec des listes de validations.
Du haut de mon débutantisme avéré en VBA et après quelques heures acharnées à corriger tous les bogues, j'ai enfin réussi à faire fonctionner mon programme à merveille.
Petit hic, je viens de rajouter sur la feuille CFR un bouton "Version Client" dont la macro sert à masquer certaines colonnes, puis à les faire réapparaitre lorsque je clique à nouveau sur le bouton.
Mon programme de remplissage de feuille fonctionne a merveille tant que je n'ai pas utilisé le bouton "Version Client", mais une fois ce bouton utilisé, si je tente de continuer à remplir mes cellules via mon Userform NouvelleGarniture, un sublime message d'erreur apparait.
Erreur d'exécution '-2147417848(80010108)'
La méthode 'Add' de l'objet 'Validation' a échoué.
Si je supprime dans mon 1er code la mise en place des validation (XXX.Validation.Add), tout se passe de nouveau bien. J'avoue ne pas comprendre ce qu'il se passe. J'espère également avoir été assez clair. Quelqu'un aurait-il une idée ?
D'avance merci pour tous ceux qui auront eu la patience de lire mon message jusqu'au bout.
Cordialement.
MA
Je suis actuellement en train de rédiger une macro qui a pour but de remplir une feuille (CFR) à partir d'un Userform (Nouvelle Garniture) préalablement rempli par l'utilisateur. C'est assez simple, il va piocher les données rentrées dans les 2 TextBox de mon formulaire qu'il va insérer dans 2 colonnes différentes, et ensuite, il va remplir les colonnes suivantes avec des listes de validations.
Du haut de mon débutantisme avéré en VBA et après quelques heures acharnées à corriger tous les bogues, j'ai enfin réussi à faire fonctionner mon programme à merveille.
Code:
Private Sub BoutonValider_Click()
Application.ScreenUpdating = False
Sheets("CFR").Activate
num = Sheets("CFR").Range("B65536").End(xlUp).Row + 1
If Sheets("CFR").Range("B" & num - 1 & ":B" & num).MergeCells = True Then
num = num + 1
End If
Set Colonne_OR = Sheets("CFR").Range("F" & num & ":G" & num)
Set Colonne_IR = Sheets("CFR").Range("I" & num & ":J" & num)
Set Colonne_Cage = Sheets("CFR").Range("L" & num & ":M" & num)
Set Colonne_RE = Sheets("CFR").Range("O" & num & ":P" & num)
Set Colonne_Bearing = Sheets("CFR").Range("Q" & num)
With Sheets("CFR").Range("B" & num & ":U" & num)
.Validation.Delete
.FormatConditions.Delete
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Sheets("CFR").Range("B" & num).Value = TxtPN_SNR.Value
Sheets("CFR").Range("C" & num).Value = TxtPN_Client.Value
Colonne_OR.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=OR_list"
Colonne_IR.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=IR_list"
Colonne_Cage.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=Cage_list"
Colonne_RE.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=RollingElements_list"
Colonne_Bearing.Validation.Add xlValidateList, xlValidAlertStop, xlBetween, "=Bearing_list"
Unload NouvelleGarniture
End Sub
Petit hic, je viens de rajouter sur la feuille CFR un bouton "Version Client" dont la macro sert à masquer certaines colonnes, puis à les faire réapparaitre lorsque je clique à nouveau sur le bouton.
Code:
Private Sub BoutonVersionClient_Click()
Set Plage = Application.Union(Columns("H:H"), Columns("K:K"), Columns("N:N"), Columns("T:T"))
If BoutonVersionClient.Caption = "Version Client" Then
Plage.EntireColumn.Hidden = True
BoutonVersionClient.Caption = "Version SNR"
Else
Plage.EntireColumn.Hidden = False
BoutonVersionClient.Caption = "Version Client"
End If
End Sub
Mon programme de remplissage de feuille fonctionne a merveille tant que je n'ai pas utilisé le bouton "Version Client", mais une fois ce bouton utilisé, si je tente de continuer à remplir mes cellules via mon Userform NouvelleGarniture, un sublime message d'erreur apparait.
Erreur d'exécution '-2147417848(80010108)'
La méthode 'Add' de l'objet 'Validation' a échoué.
Si je supprime dans mon 1er code la mise en place des validation (XXX.Validation.Add), tout se passe de nouveau bien. J'avoue ne pas comprendre ce qu'il se passe. J'espère également avoir été assez clair. Quelqu'un aurait-il une idée ?
D'avance merci pour tous ceux qui auront eu la patience de lire mon message jusqu'au bout.
Cordialement.
MA
Dernière édition: