Me.Controls("textbox" & j + 10).Value = ???

  • Initiateur de la discussion Initiateur de la discussion Cougar
  • Date de début Date de début

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 !

Cougar

XLDnaute Impliqué
Bonjour le forum,

Avec la code suivant, si le checkbox1 est coché, il faut trouver la valeur de la cellule pour qu'elle soit égale à la valeur de la textbox11 (j+10) et ensuite supprimer cette colonne. Le problème est que Me.Controls("textbox" & j + 10).Value ne reconnait pas de valeur ??? Une solution ?

For j = 1 To 10
If Me.Controls("checkbox" & j) = True Then
Do Until Me.Controls("textbox" & j + 10).Value = ActiveCell.Value
ActiveCell.EntireColumn.Delete
Loop
End If
ActiveCell.Offset(0, 1).Activate
Next

Voir le fichier joint.

Merci de votre aide.
 

Pièces jointes

Dernière édition:
Re : Me.Controls("textbox" & j + 10).Value = ???

Bonjour,

Dans la procédure : Private Sub UserForm_initialize()
Ajoute une ligne de code :
Application.Goto Range("C3"), True

Dans la procédure : Supprimer() de ton formulaire, tu dois
modifier la propriété suivante "Enabled" pour "Value"

Remplace :
If Me.Controls("checkbox" & j).Enabled = True Then

Par :
If Me.Controls("checkbox" & j).Value = True Then


MichD
 
Re : Me.Controls("textbox" & j + 10).Value = ???

Dans ta question initiale, dans le code que tu as publié
tu écris ceci :

ActiveCell.EntireColumn.Delete

Cela supprime la colonne et non la ligne.

Dans ton dernier message, tu dis que tu veux supprimer
la ligne...
Quel est réellement ton besoin?

Pour supprimer la ligne au complet :
ActiveCell.EntireRow.Delete


MichD
 
Re : Me.Controls("textbox" & j + 10).Value = ???

Bonjour,

Remplace la procédure "Supprimer" de ton formulaire par celle-ci :

Ce qui suit supprime les colonnes de la feuille "Matières premières"
Il va falloir adapter légèrement si c'est pour la feuille "Commandes Stinson"

A ) With Worksheets("Matières Premières") deviendra : With Worksheets("Commandes Stinson")
B ) Application.Goto .Range("C2"), True deviendra : Application.Goto .Range("C3"), True
C ) DerCol = .Range("2:2").Find(What:="*", _ deviendra : DerCol = .Range("3:3").Find(What:="*", _

VB:
Private Sub Supprimer()
Dim j As Byte, DerCol As Long
Dim T As Variant, S As Variant, X As String

Application.EnableEvents = False
Application.ScreenUpdating = False
With Worksheets("Matières Premières")
    Application.Goto .Range("C2"), True
    For j = 1 To 10
        DerCol = .Range("2:2").Find(What:="*", _
                LookIn:=xlValues, _
                SearchOrder:=xlByColumns, _
                SearchDirection:=xlPrevious).Column
        T = .Range("A2", .Cells(2, DerCol))
    
        If Me.Controls("checkbox" & j).Value = True Then
            X = Me.Controls("textbox" & j + 10).Value
            S = Application.Match(X, T, 0)
            If IsNumeric(S) Then
               .Columns(S).Delete
           End If
        End If
    Next
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

MichD
 
Dernière édition:
- 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

Discussions similaires

Réponses
3
Affichages
922
B
  • Question Question
Réponses
3
Affichages
1 K
Réponses
7
Affichages
987
A
Réponses
17
Affichages
2 K
Azuveus
A
Retour