Microsoft 365 Bouton modifier en mode xlsheethidden

Jacko17

XLDnaute Nouveau
Bonjour,

Je rencontre un petit soucis,

J'ai un bouton modifier sur une feuille (Accueil), pour modifier des informations sur une base de donnée se trouvant sur une autre feuille (BdAgents) en xlsheethidden.
à chaque je modifie une donnée,
  • il me renvoi sur la page BdAgents en mode xlsheetvisible.
  • il me signal une erreur (With Sheets("BdAgents").Select) en mode xlsheethidden
Je sais que le souci est ".select", mais j'aurai besoin de votre aide s'il vous plait pour m'aider à réussir ce code.

Merci d'avance




VB:
Private Sub ButtonModifier_Click()

Dim dl As Integer

If Range("Tableau1").Item(1, 1) <> "" Then dl = Range("Tableau1").Rows.Count + 1 Else dl = 1
   With Sheets("BdAgents").Select
   dl = Cbx_Agents.ListIndex + 6
   If MsgBox("Confirmez-vous la modification ?") = vbYesNo Then
  
Else

        Range("c" & dl) = Txt_tete.Value
        Range("d" & dl) = Txt_Cou.Value
      
    
    MsgBox ("Modification Effectuée !!")

End If
    End With
 
Unload Me

End Sub
 

Wayki

XLDnaute Impliqué
Bonjour,
Quelques petites erreurs dans votre code.
Essayez ceci, mais sans fichier, impossible de tester le code :
Private Sub ButtonModifier_Click()

Dim dl As Integer

If Range("Tableau1").Item(1, 1) <> "" Then dl = _ Range("Tableau1").Rows.Count + 1 Else: dl = 1
With Sheets("BdAgents")
dl = Cbx_Agents.ListIndex + 6
If MsgBox("Confirmez-vous la modification ?") = vbYesNo Then

Else

.Range("c" & dl) = Txt_tete.Value
.Range("d" & dl) = Txt_Cou.Value


MsgBox ("Modification Effectuée !!")
End if

End With

Unload Me

End Sub
Pas certain du tout concernant l'utilisation des msgbox, voyez ici
A +
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir Jacko17, Wayki,

Parce qu'il y a un retour à la ligne après dl = _

* exact, mais plutôt que « retour à la ligne » qui sont les 2 caractères de code Ascii 13 et 10 « CR » (= Carriage Return = retour chariot = aller au début de la même ligne) et « LF » (= Line Feed = aller à la ligne suivante), il vaut mieux dire « caractère de continuation de ligne » (car un caractère souligné « _ » situé en bout de ligne à droite a cette signification : la suite de cette ligne physique est située sur la ligne physique suivante, et ce sont ces 2 lignes physiques qui constituent une seule ligne logique).

* de plus, il y a un caractère deux-points « : » en trop après le Else.​

ça donne donc :

VB:
If Range("Tableau1").Item(1, 1) <> "" Then dl = Range("Tableau1").Rows.Count + 1 Else dl = 1



NB : la doc Microsoft officielle appelle « _ » (en bout de ligne) :

« caractère de continuation de ligne ».

soan
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas