|
|
|
|
|
Salut,
tu peux faire un truc du genre: For i = 1 To 10 If Cells (i,1).Value="" Then Cells(i,1).Value="cequetuveux" Next i Ca devrait t'écrire "cequetuveux" dans les cases vides des 10 premières lignes de la première colonne... A adapter à tes besoins... ;-) |
Bonjour,
Et si dans le meme cas, on ne veut ecrire QUE sur la première ligne non vide? Ciao |
|
Bonjour arno,
Peux tu préciser ce que tu veux faire ? Tu veux, comme l0ul0ute, vérifier que la cellule est vide, et écrire un texte sur le première ligne de la colonne ? Dis moi précisement ce que tu veux, et vu que j'ai un peu de temps aujourd'hui je te fais ça... ;) à bientot Teteve " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
Putain c'est génial ça répond super vite sur ce forum!!!
Merci d'avance teteve Voila le problème: Les lignes 16 à 29 sont initiallement vides. J'ai créé un bouton+une userform pour les remplir une par une. Je m'xplique : Je clique sur mon bouton, je rempli mes deux champs de userform et alors le programme rempli automatiquement les cellules (i,1) et (i,2) Le problème c'est qu'avec le code si dessous, je rempli toutes les lignes de 16 à 29. Je n'arrive pas à arrêter ma boucle dès que le première ligne vide est trouvé! Merci pour ton aide. Si tu veux plus de détail, je reste à l'affut sur le forum For i = 16 To 29 If Sheets(1).Cells(i, 1) <> "" Then i = i + 1 Else 'Ajout texte Sheets(1).Cells(i, 1) = UserForm2.TextBox1 Sheets(1).Cells(i, 2) = UserForm2.TextBox2 End If Next i |
Je précise ce que je veux faire en "français"
Si la cellule n'est pas vide Alors faire cellule +1 Sinon écrire dans la cellule (et uniquement celle là, pas les suivantes) |
|
Allez c'est parti...
Ca ne fait que 1 an et demi que je n'ai pas touché à du VBA... Mais ça va faire du bien de s'y remettre un peu... Bon, vu mon état ce matin, je promets rien au niveau des délais et de la bonne compréhension du problème... :-D @ ++ Teteve " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
|
Bon, j'précise de suite si des personnes plus calées que moi lisent ce chtit bout de code : j'ai toujours eu la mauvaise manie de pas faire au plus simple, voire même jamais comme ce que feraient tout le monde... Mais ça marche quand même ;)
i = 16 Do While (Sheets(1).Cells(i, 1) <> "") And (i <= 29) i = i + 1 Loop Sheets(1).Cells(i, 1) = UserForm2.TextBox1 Sheets(1).Cells(i, 2) = UserForm2.TextBox2 Voilà... Dis moi si ça te va... En français, mon raisonnement a été le suivant : Je pars de i = 16 Tant que le contenu de la cellule (i,1) n'est pas vide et que i est inférieur à 29 (la limite), alors on passe à la ligne d'après Dès que c'est bon, on écrit dans la cellule vide concernée... " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
|
petite correction : je viens de tester pour la 29ème ligne (je sais, j'ai eu la flemme de le faire avant, et dans un excès de mauvaise conscience j'ai essayé...)
[...] And (i < 29) Il faut enlever le "=" sinon il écrit dans le 30ème ligne si toutes les lignes de 16 à 29 sont pleines " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
C'est presque bon! En tout cas c'est mieux que moi!
Mais ya toujours 2 pti problèmes : 1) Ca n'écrit que sur la ligne 17 et pas sur la 16 2) Si je répète l'opération, ça remplace la ligne que je viens de remplir au lieu de remplir la ligne dessous Merci de ton aide |
J'avais peut etre pas précisé mais je veux que ma feuille excel se remplisse ligne par ligne, sans remplacer les ligne que l'on ajoute une par une.
Exemple : on rempli la ligne 16 avec la macro alors si on répète l'opération, la ligne qui doit se remplir alors est la 17 |
|
hum...
Moi ca écrit sur la ligne 16 et a chaque fois que je le relance il ecrit bien sur la ligne suivante. Envoie moi tout ton code stp (userform + module associé) que je comprenne nos différences. de rien pour l'aide, il m'est arrivé de trouvé une bonne aide ici quand j'avais besoin, donc de temps en temps j'essaye de voir ce que je peux faire, même si je n'atteints pas le niveau de la plupart des helpeurs habituels... " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
OUPS! Pardon pardon pardon de pourir ce forum.
En fait, ton programme marche très bien. C'est moi qui ai mal recopié! DESOLE ET MERCI BCP TETEVE! |
|
De rien ;)
N'hésite pas à revenir si besoin :) Je ne peux que t'encourager à aller chercher quelques tutos sur le net sur le VB et VBA, c'est mine de rien un langage que j'aime bien de part sa facilité et les objets qu'il manipule (tout ce qui est Microsoft... :) ) Teteve " Le plus intelligent est celui qui sait qu'il ne sait pas... " Teteve, informaticien amateur et passionné |
Résultats pour Vba : insérer du texte dans une cellule vide
Résultats pour Vba : insérer du texte dans une cellule vide
Résultats pour Vba : insérer du texte dans une cellule vide
Résultats pour Vba : insérer du texte dans une cellule vide