Si cellule vide, remplir sinon écrire sur cellule suivante

KyFranRD

XLDnaute Occasionnel
Bonjour

Je suis confronté à une petite interrogation. S'il faut après avoir expliqué mon problème, créer un fichier. Je me ferais un plaisir .......

J'ai dans un fichier des créations de commentaires, après chaque opérations. J'avais dans un premier temps décidé que ces commentaires seraient créés les uns à la suite des autres dans un textbox. Mais je ne suis pas convaincu du résultat.

Je voudrais donc savoir comment saisir dans une cellule si cette cellule est vide, sinon, passer à la suivante.

Par exemple colonne B ligne 3. Si B3 vide alors on écris, sinon on vérifie B4. Si B4 vide etc etc etc et cela sur l'ensemble d'une colonne. Pour cette exemple la colonne B.

Merci à l'avance
 

KyFranRD

XLDnaute Occasionnel
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Re

J'essaie avec quelque chose de ce genre mais je n'arrive à rien .... Quelqu'un à une idée ??

For i = 3 To 100

If Range("B3").Value = "" Then

Range("B3").Value = TextBox1.Value

Else

Range("B" & i).Value = TextBox1.Value

End If



Next i

Merci à l'avance
 

Dull

XLDnaute Barbatruc
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Salut KyFranRD, kjin:), le Forum

Effectivement un petit fichier ne serait pas de trop

Néanmoins un essai avec ce que j'ai compris

Code:
Private Sub CommandButton1_Click()
Dim i As Byte
For i = 3 To 100
    If Cells(i, 2) = "" Then Cells(i, 2) = TextBox1
Next i
Unload Me
End Sub

Bonne Journée
 

Pièces jointes

  • TestKyFranRD.xlsm
    20.3 KB · Affichages: 82

KyFranRD

XLDnaute Occasionnel
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Bonjour

J'ai ajouté un fichier

En gros si je saisi une donnée dans le textbox alors renvoi en B3 si vide, sinon B4 si vide, Sinon B5 si vide etc

Pour le moment je ne parviens qu'à remplir l'ensemble des cellules. Je ne saisi pas trop le principe de création d'une boucle

Merci bien
 

Pièces jointes

  • Book1.xls
    27.5 KB · Affichages: 87
  • Book1.xls
    27.5 KB · Affichages: 98
  • Book1.xls
    27.5 KB · Affichages: 104

KyFranRD

XLDnaute Occasionnel
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Bonjour et merci Dull

Je teste cela et effectivement en lisant le code ça paraît être ce que je recherche.

Bon j'ai testé et en fait cela saisi sur toutes les lignes .... de 3 à 100 :(

Je ne parviens pas à lire le fichier XLSM, ma version 2003 ne parviens pas à le décoder >>> manque dll

j'ai cherché le dll. Je l'ai placé et ça n'a rien changé.



Cordialement
 
Dernière édition:

Dull

XLDnaute Barbatruc
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Re le fil

Alors peut-être comme cela

Code:
Private Sub CommandButton1_Click()
Dim i As Byte, DerLig As Long
DerLig = Range("C" & Rows.Count).End(xlUp).Row
    For i = DerLig To 3 Step -1
        If Cells(i, 3) = "" Then Cells(i, 3) = TextBox1
    Next i
End Sub

Bonne Journée
 

KyFranRD

XLDnaute Occasionnel
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

re Dull

Cela m'indique erreur overflow et cette ligne semble être le soucis

For i = DerLig To 3 Step -1

J'ai testé en remplaçant -1 par +1 et l'erreur disparaît. Mais cela saisi en C1, C2 et C3

Si je re saisi une autre donnée, rien ne se passe.

Je voudrais que cela inscrive en B3 si vide, sinon B4 etc etc

merci encore
 

kjin

XLDnaute Barbatruc
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Re, salut Dull:),
Code:
Private Sub CommandButton1_Click()
For i = 3 To Range("C65000").End(xlUp).Row  'boucle de i = 3,4,5...jusqu'à dernière ligne colonne C
    If Cells(i, 2).Value = "" Then          'si la cellule B & i est vide
        Cells(i, 2) = TextBox1.Value        'on saisie la valeur de textbox1
        Exit For                            'et on quitte la boucle
    End If
Next
End Sub
Maintenant, la boucle serait inutile si les valeurs en colonne B étaient saisies les unes à la suite des autres
A+
kjin
 

KyFranRD

XLDnaute Occasionnel
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Bonjour et merci Kijin

Je teste

Bon j'ai testé mais rien ne se passe ?????

aucune saisie, rien de rien.

Cela devrait d'après cque je comprend du code, écrire en B3, mais rien

Désolé de prendre de votre temps :(

En tout cas merci

Kijin? Que voulez vous dire par la boucle serait inutile en cas de saisie successives. Comment devrais je donc pratiquer pour ce cas précis?


J'ai cherché et trouvé cela >>

Range("C" & Range("C65536").End(xlUp).Row + 1) = TextBox1.Value


ça marche nickel.

Je comprend cque vous vouliez dire

Merci
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Si cellule vide, remplir sinon écrire sur cellule suivante

Bon j'ai testé mais rien ne se passe ?????
aucune saisie, rien de rien.
Cela devrait d'après cque je comprend du code, écrire en B3, mais rien
C'est une plaisanterie ?

J'ai cherché et trouvé cela >>
Range("C" & Range("C65536").End(xlUp).Row + 1) = TextBox1.Value
ça marche nickel.
Une autre plaisanterie peut-être ?
A+
kjin
 

Pièces jointes

  • kyfranrd.xls
    19.5 KB · Affichages: 84
  • kyfranrd.xls
    19.5 KB · Affichages: 85
  • kyfranrd.xls
    19.5 KB · Affichages: 91

Discussions similaires

Statistiques des forums

Discussions
312 688
Messages
2 090 961
Membres
104 713
dernier inscrit
CAMARA