Vérifier si un textbox est vide avant de mettre à jour une cellule

Nenetta

XLDnaute Nouveau
Bonjour tout le monde,

J'ai crée un formulaire qui permet de modifier des cellules d'un fichier excel fermé,

mais quand je valide la modification, même les textboxs que je n'ai pas touché se modifient.

j'ai pensé à faire une condition avant la modification,

Code:
If Absent = False Then
    With Workbooks.Open(Chemin & NomFich)  'ouverture du fichier
      With .Sheets(1)
        
        
         If TextBox1.Value <> "" Then .Range("B31") = Me.Controls("TextBox4").Value
         If TextBox2.Value <> "" Then .Range("B32") = Me.Controls("TextBox5").Value
         If TextBox3.Value <> "" Then .Range("B33") = Me.Controls("TextBox6").Value
           
        
      
      End With
      .Close True  'enregistrement et fermeture
    End With

mais ça ne marche pas :( , aidez moi svp!
 

Eric C

XLDnaute Barbatruc
Re : Vérifier si un textbox est vide avant de mettre à jour une cellule

Bonjour le forum
Bonjour Nenetta, bonjour Paf

Il est normal que tes TextBoxs perdent leur valeur car tu les initializes avec les nouvelles données portées dans ton fichier V1. SI tu désires garder en mémoire les anciennes valeurs, voilà comment je procèderais, je doublerais les valeurs apportées dans d'autres cellules (hors portée de vue) et chargerais ces dernières en mémoire à l'initialization du USF.

Code:
If Absent = False Then
    With Workbooks.Open(Chemin & NomFich)  'ouverture du fichier
      With .Sheets(1)
        
        
          .Range("B31") = Me.Controls("TextBox4").Value
          .Range("G31") = Me.Controls("TextBox4").Value
          .Range("B32") = Me.Controls("TextBox5").Value
          .Range("G32") = Me.Controls("TextBox5").Value
          .Range("B33") = Me.Controls("TextBox6").Value
          .Range("G33") = Me.Controls("TextBox6").Value

Puis

Code:
   For I = 1 To 3
        Me.Controls("TextBox" & I).Value = .Range("[B][COLOR=#FF0000]G[/COLOR][/B]" &[COLOR=#000000] [/COLOR]30 + I)
      Next I

Si j'ai bien compris.
(Je suis absent de la journée. A ce soir de te lire)
@ +
 

Nenetta

XLDnaute Nouveau
Re : Vérifier si un textbox est vide avant de mettre à jour une cellule

Bonjour Eric C,
Bonjour le forum,

J'ai pu résoudre le problème finalement, en mettant une condition sur les textbox

j'ai procédé comme suit sur ma fonction:

Code:
 Private Sub CommandButton1_Click()  'bouton Valider
Dim I As Integer

  If Absent = False Then
    With Workbooks.Open(Chemin & NomFich)  'ouverture du fichier
      With .Sheets(1)
        
        For I = 4 To 6
       Dim Val
          Val = .Range("B" & 27 + I)
   .Range("B" & 27 + I) = IIf(Me.Controls("TextBox" & I).Value = "", Val, Me.Controls("TextBox" & I).Value)
      Next I
        
      
          
      
      End With
      .Close True  'enregistrement et fermeture
    End With
    MsgBox "Modification réussie!"
  End If
  Unload Me
End Sub


Merci infiniment pour ton aide Eric C.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 015
dernier inscrit
kkgk