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

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 :
Pas certain du tout concernant l'utilisation des msgbox, voyez ici
A +
 

Jacko17

XLDnaute Nouveau
Bonjour,
Quelques petites erreurs dans votre code.
Essayez ceci, mais sans fichier, impossible de tester le code :

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

Bonjour Wayki,

Merci beaucoup pour ta solution, mais il m'indique une erreur sur :
VB:
If Range("Tableau1").Item(1, 1) <> "" Then dl = _ Range("Tableau1").Rows.Count + 1 Else: dl = 1
 

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

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