Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 If ActiveCell = "Contenu d'une TextBox" Then

  • Initiateur de la discussion Initiateur de la discussion THOR57
  • 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 !

THOR57

XLDnaute Nouveau
Bonjour tous le monde,

J'ai un petit soucis, sans doute ridicule mais vraiment je bloque,

je m'explique, j'ai un code :

VB:
    Sheets("TRAVAUX").Activate

        Range("L1").Select
    
            Do While ActiveCell <> ""
    
            If ActiveCell = "Ville" Then
                ActiveCell.Offset(0, 17).Value = ComboBox1
            End If
                ActiveCell.Offset(1, 0).Select
                
                counter = counter + 1
            Loop

qui fonctionne, par contre je voudrais modifier "If ActiveCell = "Ville" Then" par "If ActiveCell = "(Me.TextBox1.Value)" Then" et la plus rien ne va ^^

VB:
    Sheets("TRAVAUX").Activate

        Range("L1").Select
    
            Do While ActiveCell <> ""
    
            If ActiveCell = "(Me.TextBox1.Value)" Then
                ActiveCell.Offset(0, 17).Value = ComboBox1
            End If
                ActiveCell.Offset(1, 0).Select
                
                counter = counter + 1
            Loop

Si quelqu'un pouvait m'aide, se serait vraiment super sympa 🙂

Merci d'avance,

Cordialement,
 
N'hésite pas à te baser sur le message #4 qui te conseille, fort justement, d'abandonner les Select. Ca te fera gagner beaucoup de temps d'exécution. 😉
J'ai tester mais sa me test 0 Ligne

VB:
With Sheets("TRAVAUX")
Derlgn=.Cells(.Rows.Count,12).End(xlUp).Row
 For Lgn =1 To Derlgn
  If .Cells(Lgn,12) <> "" And Cells(Lgn,12)= Val(Me.TextBox1.Value) Then
 .Cells(Lgn ,17)=Me.ComboBox1.Value
      counter = counter + 1
End If
Next Lgn
End With
 
Je n'ai pas regardé le code, mais l'idée de ne plus utiliser les Select est la bonne, ça c'est sûr. 😉


Il me semble qu'il manque un point devant un Cells.
Peut-être n'est-il pas indispensable selon la feuille active, mais il me semble mieux de le mettre.
 
Par contre, Tous fonctionne nickel sauf quand je rencontre une cellule contenant #N/A

VB:
Private Sub CommandButton1_Click()

    If MsgBox("Etes-vous sûr de vouloir sauvegarder ?", vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sauvegarde") = vbYes Then

    Dim counter As Integer
    counter = 0

    Sheets("TRAVAUX").Activate

        Range("L1").Select
    
            Do While ActiveCell <> ""
    
            If ActiveCell = Val(Me.TextBox1.Value) Then
                ActiveCell.Offset(0, 17).Value = ComboBox1
            End If
                ActiveCell.Offset(1, 0).Select
                
                counter = counter + 1
            Loop
    
    MsgBox (counter & " Lignes ont été vérifiées"), vbOKOnly + vbInformation
    
    MsgBox "Le contenu a été Sauvegarder !", vbOKOnly + vbInformation
    
    End If

End Sub
 
Par contre, Tous fonctionne nickel sauf quand je rencontre une cellule contenant #N/A
Déjà, il ne me semble pas normal qu'il ait des #N/A dans une feuille.

Ensuite, as-tu essayé de traiter le cas des erreurs avec un truc genre
Code:
If Not IsError(ActiveCell.Value) Then


Comme je disais plus haut, on n'y voit pas grand chose avec cette indentation farfelue. 😉
Ca devrait être mieux ainsi :
VB:
Private Sub CommandButton1_Click()

    If MsgBox("Etes-vous sûr de vouloir sauvegarder ?", vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sauvegarde") = vbYes Then

        Dim counter As Integer

        counter = 0
        Sheets("TRAVAUX").Activate
        Range("L1").Select
    
       Do While ActiveCell <> ""
           If ActiveCell = Val(Me.TextBox1.Value) Then ActiveCell.Offset(0, 17).Value = ComboBox1
           ActiveCell.Offset(1, 0).Select
           counter = counter + 1
       Loop

      MsgBox (counter & " Lignes ont été vérifiées"), vbOKOnly + vbInformation
      MsgBox "Le contenu a été Sauvegarder !", vbOKOnly + vbInformation

    End If

End Sub
 
C'est effectivement un peu plus propre 🙂

Pour les #N/A ce ne sont pas des erreur de fonction c'est moi qui les avait mi sur les cellule non renseigner ^^ du coup j'ai modifier par des 0 🙂 c'est beaucoup mieux ^^

Merci encore pour tous 😎
 
- 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
2
Affichages
410
Réponses
3
Affichages
449
Réponses
4
Affichages
332
Réponses
3
Affichages
569
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…