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

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,
 

THOR57

XLDnaute Nouveau
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
 

TooFatBoy

XLDnaute Barbatruc
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.
 

THOR57

XLDnaute Nouveau
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
 

TooFatBoy

XLDnaute Barbatruc
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
 

THOR57

XLDnaute Nouveau
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…