Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Vba : insérer du texte dans une cellule vide

l0ul0ute, le vendredi 6 avril 2007 à 10:46:16
Coucou!!
Je suis en train de faire une macro sous excel et je ne sais pas comment structurer une des boucles pour qu'elle renvoi l'information saisi dans une cellule vide.
En gros je voudrais faire un truc du style:

Si la cellule n'est pas vide
Alors faire cellule +1
Sinon écrire dans la cellule

Serait il possible de m'aider svp!! je galère!!
biz
Répondre à l0ul0ute  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
xjl, le vendredi 6 avril 2007 à 11:17:42
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... ;-)
Répondre à xjl

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 10:43:13
Bonjour,

Et si dans le meme cas, on ne veut ecrire QUE sur la première ligne non vide?

Ciao
Répondre à Arno

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teteve, le mardi 4 septembre 2007 à 10:46:31
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é
Répondre à teteve

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 11:04:27
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
Répondre à Arno

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 11:07:53
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)
Répondre à Arno

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teteve, le mardi 4 septembre 2007 à 11:12:56
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é
Répondre à teteve

7


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teteve, le mardi 4 septembre 2007 à 11:29:11
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é
Répondre à teteve

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teteve, le mardi 4 septembre 2007 à 11:33:29
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é
Répondre à teteve

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 11:35:32
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
Répondre à Arno

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 11:41:37
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
Répondre à Arno

11


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
teteve, le mardi 4 septembre 2007 à 11:44:23
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é
Répondre à teteve

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Arno, le mardi 4 septembre 2007 à 11:44:25
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!
Répondre à Arno

13


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 teteve, le mardi 4 septembre 2007 à 11:51:19
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épondre à teteve
Macro excel " SUBTOTAL " (Résolu) Bonjour, Encore et encore bloqué. Cette fois-ci c'est pour effectuer des sous-totaux. Dans une colonne de chiffre, j'ai inséré des cellules vides afin d'effectuer le sous-total des cellules du dessus et par la suite j'ai fait... www.commentcamarche.net/forum/affich-7657007-macro-excel-subtotal
VBA excel insérer une ligne vide (Résolu) Bonjour, Je voudrais en vba excel insérer des lignes à chaque fois qu'une valeur d'une cellule change par rapport à celle du dessus. exemple : il faudrait que j'insére une ligne vide entre 15 et 20, entre 20 et 23, entre 23 et 26.... www.commentcamarche.net/forum/affich-4126535-vba-excel-inserer-une-ligne-vide
Tri alphab sous excel avec des cellules vides (Résolu) Bonjour, Comment faire un tri alphabétique sous Exel, d'une liste de noms comportant des cellules vides, sans que les cellules vides se placent en début de liste, et sans avoir fait au préalable un filtre "non vides" merci www.commentcamarche.net/forum/affich-7890876-tri-alphab-sous-excel-avec-des-cellules-vides
[VBA] Ecrire/lire une série de TextBox en une seule SubEn VBA, les TextBox ne disposent pas d'un index et dans la plupart des cas, pour entrer du texte, on procède par.. TextBox1.Text = Cells(2,1).value TextBox2.Text = Cells(2,2).value TextBox3.Text = Cells(2,3).value Et l'inverse pour lire les... www.commentcamarche.net/faq/sujet-12862-vba-ecrire-lire-une-serie-de-textbox-en-une-seule-sub
Sed - Insertion de texteInsérer du texte dans un fichier Introduction Syntaxe Ajout de texte Insérer une ligne avec "i" Ajouter une ligne avec "a" Échanger une ligne avec "c" Introduction Il est parfois utile de pouvoir insérer du texte en en-tête d'un ou... www.commentcamarche.net/faq/sujet-6616-sed-insertion-de-texte
VB6/VBA Transformer nombre en texteVB6/VBA Transformer nombre en texte Introduction Préliminaires VB6 Dans le module de la forme Dans Module1 Introduction La fonction peut transformer des nombres de l'unité jusqu'à 999 tera. Prend en compte la syntaxe pour le français... www.commentcamarche.net/faq/sujet-11100-vb6-vba-transformer-nombre-en-texte
Effacer le contenu premières cellules vides (Résolu)Bonjour, Je cherche à effacer le contenu des cellules vides de la colonne b (c'est à dire le résultat d'une formule qui donne "") en commencant uniquement par la première cellule vide qui n'est pas suivi par des cellules donnant des... www.commentcamarche.net/forum/affich-3821360-effacer-le-contenu-premieres-cellules-vides
Excel : cellule vide valorisée à Zéro (Résolu)Bonjour, "Toute petite question" : comment faire pour qu'une cellule vide copiée via une formule soit valorisée à Espace et non Zéro ? Merci Alain www.commentcamarche.net/forum/affich-7401107-excel-cellule-vide-valorisee-a-zero
Affecter un texte a des cellules vides (Résolu)Bonjour, Je voudrais faire une macro dans un feuille excel qui affecte automatiquement le caractère - (tiret) au cellules vide des cases A1 à J9. Merci d'avance pour votre aide. www.commentcamarche.net/forum/affich-7988031-affecter-un-texte-a-des-cellules-vides
Télécharger Debt Reduction - Zilch StandardDebt Reduction - Zilch Standard est un gestionnaire de dette. Il aide l'utilisateur à se débarrasser de ses dettes. Très facile à utiliser, il suffit de remplir les cellules vides et de cliquer sur un bouton. De plus, l'application ne nécessite pas... www.commentcamarche.net/telecharger/telecharger-34057411-debt-reduction-zilch-standard