Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 07h44   #1
Invité de passage
 
Homme Benoit
Inscription : mars 2008
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Benoit
Âge : 26
Localisation : France

Informations forums :
Inscription : mars 2008
Messages : 10
Points : 2
Points : 2
Par défaut Annuler InputBox vide ma cellule

Bonjour à tous,

J'ai une feuille dont toutes les cellules sont verrouillées (avec sélection possible) sur laquelle j'autorise l'utilisateur à faire des modifications sur quelques cellules ! Pour ce faire, plutôt que de laisser les cellules déverrouillées en permanence, il est plus prudent pour moi d'utiliser une InputBox liée à l'évènement Double Click ! Jusque là pas de problème tout fonctionne ! On entre la nouvelle valeur dans l'InputBox qui remplace l'ancienne valeur dans la cellule ! Impeccable ! Toutefois, mon soucis c'est quand je clique sur le bouton annuler sur l'InputBox... ça me vide la cellule alors que je voudrais que ça conserve le contenu initial ! Quelqu'un a une idée

Merci par avance,

Benoit
ketum88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 07h56   #2
Membre Expert
 
Avatar de rvtoulon
 
Homme Hervé
Agent Technique
Inscription : mars 2009
Messages : 823
Détails du profil
Informations personnelles :
Nom : Homme Hervé
Âge : 36
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Agent Technique
Secteur : Santé

Informations forums :
Inscription : mars 2009
Messages : 823
Points : 1 441
Points : 1 441
Bonjour,
une idée comme une autre serait de mettre dans une variable le contenu de la cellule avant l'appel de l'inputbox et après l'inputbox faire un test pour voir si la cellule est vide. Si c'est le cas je donne à la cellule la valeur de la variable.
Voici un exemple simple avec un clic sur la cellule D4 :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim vval As String
If Target.Address = [D4].Address Then
  'sauvegarde la valeur de la cellule dans une variable
  vval = Target.Value
 
  'j'efface le contenu de ma cellule
  Target.Value = ""
 
  'j'appelle mon inputbox
  Target.Value = InputBox("saisir votre texte:")
 
  'je vérifie si ma cellule est vide si c'est le cas je lui donne
  'la valeur de ma variable
  If Target.Value = "" Then Target.Value = vval
End If
End Sub
Ce n'est pas parfait mais ça fonctionne. Adapte le à ton cas.
__________________
@+

Si vous avez trouvé la solution à votre problème n'oubliez pas d'appuyer sur
Et n'oubliez pas de voter en appuyant sur si ce message a repondu à vos attentes.
Ou sur si ce n'est pas le cas
rvtoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 12h46   #3
Invité de passage
 
Homme Benoit
Inscription : mars 2008
Messages : 10
Détails du profil
Informations personnelles :
Nom : Homme Benoit
Âge : 26
Localisation : France

Informations forums :
Inscription : mars 2008
Messages : 10
Points : 2
Points : 2
Merci... Je n'y avais pas pensé ! Maintenant ça fonctionne...
ketum88 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h54.


 
 
 
 
Partenaires

Hébergement Web