Remplissage colonne avec userform avec condition
Bonjour a tous,
je bloque sur une étape d'un projet sur le quel je travail , en gros , j'ai une macro qui me remplie une colonne ( ligne par ligne ) par des date avec un intervale de temps aléatoire jusque la cava ! pour cela j'utilise cette fonction :
Set DEST = IIf(Range("A1").Value = "", Range("A1"), Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
DEST.Value = date_arretce que je recherche a faire c'est que des que cellule des qu'une cellule est remplie, un userform apparait pour que je saisie un commentaire et que ce dernier sois envoyer dans la colonne a cotés sur la même ligne ( si la date est dans A1, alors commentaire dans B1), mais le vrais problème et que si plusieurs celulle dans la colonne A sont remplie il faut que mon userform aprés chaque validation d'un commentaire jusqu’à avoir remplie tout les commentaire pour les celulle A qui sont remplie ! pouvais vous m'aider s'il vous plait ?
Bonjour JAJA, bonjour le forum,
Ce code me parle !. Mais ce n'est pas le propos...
Ta requête n'est pas logique car si dès qu'une cellule de la colonne A est remplie il apparaît une UserForm permettant d'éditer un commentaire en colonne B, alors tu n'auras jamais plusieurs commentaires à écrire !...
Je te propose un code avec non pas une UserForm mais une boîte d'entrée (InputBox) qui reprend le dernier commentaire édité au cas où tu voudrais le répéter :
Dim date_arret As Date 'déclare la variable date_arrêt
Dim DEST As Range 'déclare la variable DEST (cellue de DESTination)
Dim DEF As String 'décalre la variable DEF (valeur par DÉFaut)
Dim BE As Variant 'déclare la variable BE (Boîte d'Entrée)
Set DEST = IIf(Range("A1").Value = "", Range("A1"), Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0))
DEST.Value = date_arret
If DEST.Row = 1 Then DEF = "" Else DEF = DEST.Offset(-1, 1).Value 'définit la valeur par défaut (le commentaire de la ligne au-dessus)
BE = Application.InputBox("Veuillez taper le commentaire.", "COMMENTAIRE", DEF, Type:=2) 'définit la boîte d'entrée BE
If BE = False Or BE = "" Then Exit Sub 'si bouton [Annuler] ou non renseignée, sort de la procédure
DEST.Offset(0, 1).Value = BE 'renvoie la valeur de BE dans la cellule DEST décalée d'une colonne à droite