[RESOLU] Pop up - renseignement des cellules suivantes

Mikael_D

XLDnaute Nouveau
Bonjour à Toutes et Tous

J'aimerai obliger les utilisatieurs de mon fichier à renseigner toutes les cellules de la ligne

Aprés avoir renseigné la date une pop up doit s'ouvrir afin que l'utilisateur saisisse le nom du client puis la banque ainsi de suite jusqu'a montant

Exemple de Tableau

Date Nom du Client Banque N° du chèque Montant



Merci d'avance de votre aide
Mikael
 
Dernière édition:

Mikael_D

XLDnaute Nouveau
Re : Pop up - renseignement des cellules suivantes

J'ai fais quelque chose comme ça (je ne suis pas très doué en vba mais bon je vais y arriver)
Il doit me manquer des commandes car je veux le faire à chaque modification de la colonne A pour complèter les colonnes suivantes

Private Sub Worksheet_Change(ByVal Target As Range)

If ActiveCell.Column = 1 And ActiveCell.Row = 12 Then

Dim Nom_du_Client As String

Nom_du_Client = InputBox("Nom du Client ?", "Nom du Client") 'La variable reçoit la valeur entrée dans l'InputBox

If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
MsgBox resultat

End If

Dim Banque As String

Banque = InputBox("Banque ?", "Banque") 'La variable reçoit la valeur entrée dans l'InputBox

If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
MsgBox resultat
End If

Dim N°_de_Chèque As String

N°_de_Chèque = InputBox("N° de Chèque ?", "N° de Chèque") 'La variable reçoit la valeur entrée dans l'InputBox

If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
MsgBox resultat
End If

Dim Montant As String

Montant = InputBox("Montant ?", "Montant") 'La variable reçoit la valeur entrée dans l'InputBox

If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat
MsgBox resultat
End If
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Pop up - renseignement des cellules suivantes

Bonjour le fil, bonjour le forum,

Ton code n'agit que sur la ligne 12. Est-ce Normal ?
Si oui, les InputBoxes peuvent faire l'affaire et je te propose un code un tout petit peu plus abouti que le tien :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Nom_du_Client As String 'déclare la variable
Dim Banque As String 'déclare la variable
Dim N°_de_Chèque As Variant 'déclare la variable
Dim Montant As String 'déclare la variable

If Target.Address <> "$A$12" Then Exit Sub 'si le changement a lieu ailleurs que dans la cellule B12, sort de la procédure
Target.Offset(0, 1).Select 'sélectionne la cellule en colonne B
Nom_du_Client = InputBox("Nom du Client ?", "Nom du Client") 'La variable reçoit la valeur entrée dans l'InputBox
If Nom_du_Client <> "" Then 'condition : si la valeur est différente de ""
    Selection.Value = Nom_du_Client 'on envoie le résultat dans la cellule active
Else 'sinon
    GoTo fin 'va à l'étiquette fin
End If 'fin de la condition
Target.Offset(0, 2).Select 'sélectionne la cellule en colonne C
Banque = InputBox("Banque ?", "Banque") 'La variable reçoit la valeur entrée dans l'InputBox
If Banque <> "" Then 'condition : si la valeur est différente de ""
    Selection.Value = Banque 'on envoie le résultat dans la cellule active
Else 'sinon
    GoTo fin 'va à l'étiquette fin
End If 'fin de la condition
Target.Offset(0, 3).Select 'sélectionne la cellule en colonne D
N°_de_Chèque = Application.InputBox("N° de Chèque ?", "N° de Chèque", Type:=1) 'La variable reçoit la valeur entrée dans l'InputBox (seul les valeur numériques sont acceptées)
If N°_de_Chèque <> "" Then 'condition : si la valeur est différente de ""
    Selection.Value = N°_de_Chèque 'on envoie le résultat dans la cellule active
Else 'sinon
    GoTo fin 'va à l'étiquette fin
End If 'fin de la condition
Target.Offset(0, 4).Select 'sélectionne la cellule en colonne E
Montant = Application.InputBox("Montant ?", "Montant", Type:=1) 'La variable reçoit la valeur entrée dans l'InputBox (seul les valeur numériques sont acceptées)
If Montant <> "" Then 'condition : si la valeur est différente de ""
    Selection.Value = Montant 'on envoie le résultat dans la cellule active
Else 'sinon
    GoTo fin 'va à l'étiquette fin
End If 'fin de la condition
Exit Sub 'sort de la procédure
fin: 'étiquette
MsgBox "La ligne entière sera effacée !" 'message
Range("A12").Resize(1, 5).Clear 'efface la ligne
Range("A12").Select 'sélectionne la cellule A12
End Sub
Sinon, il vaudrait mieux je pense utiliser une UserForm...
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87