Recherche code pour remplacer des valeurs par vba sous condition

Résolu/Fermé
JinRo Messages postés 22 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 15 décembre 2013 - Modifié par JinRo le 3/07/2013 à 12:00
 JinRo - 8 juil. 2013 à 10:15
Bonjour,

Je suis à la recherche d'un code VBA qui me permettrait de remplir des cellules vide avec une même valeur pour autant qu'une cellule de la colonne A par exemple soit renseignée.
J'ai pensé à ce code que j'utilise pour vider des cellules en essayant de faire
Dim c As Range

If c.Value in Range("a1:A")<>"" then For Each c In Range("H1:V1000")
If c.Value = "" Then c.Replace.Value = "A Expédier"
Next
End if
End Sub

Mais ça ne marche pas. Par ailleurs je débute en vba. Par conséquent si quelqu'un pouvait m'aider ça serait bien volontier.
A voir également:

13 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 juil. 2013 à 12:03
Bonjour,

Dans l'aide VBA excel cherchez range.find methode, vous avez un exemple de code, adaptez le.

Bonne suite
1
JinRo Messages postés 22 Date d'inscription mercredi 29 mai 2013 Statut Membre Dernière intervention 15 décembre 2013
3 juil. 2013 à 15:50
Merci, j'ai essayé de reprendre le code excemple qui est donné.

Sub A_remplir()
With Worksheets(3).Range("D2:D1000")
Set c = .Find("En cours", LookIn:=xlValues)
If Not c Is Nothing Then
FirstAdress = c.Adress
For Each c In Range("H2:V1000")
If .c.Value = "" Then c.Value = "A remplir"
Next
End If
End With
End Sub

Mais mtnt quand je lance la macro... ben Rien ne se passe où me suis-je planté?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 juil. 2013 à 16:04
Re,

Vous etes sur de ce que vous voulez, pourquoi faire une recherche plusieurs fois D2:D1000, puisque a la premiere cellule trouvee il n'y aura plus de cellule vide en H1:V1000, meme si actuelle ca ne marche pas, question de fonctionnement!!!
0
Bonjour,
Navré pour ma réponse tardive mais j'ai énormément de travail en ce moment.
Pour répondre à votre question non, ce n'est pas ce que je voulais.

Ce que je veux c'est qu'en fonction de la valeur en colonne D, les cellules en H:V si elles sont vides prennent une valeur spécifique.

Malhereusement n'étant que débutant en VBA et en autodidacte ce n'est pas évident pour moi de faire juste ou de faire logique... Si vous pouvez m'aider ça serait avec un grand plaisir que je prendrais note et en apprendrai un peu plus.

Par ailleurs, j'aimerai également comprendre comment une textbox vide peut renvoyer une valeur dans une cellule alors qu'elle est considérée comme "" dans le code vba?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 juil. 2013 à 18:44
Bonjour,

Navré pour ma réponse tardive l'essentiel est repondre, le laps de temps est sans importance.

Ce que je veux c'est qu'en fonction de la valeur en colonne D et cette valeur peut etre n'importe ou dans la colonne (en fonction d'une plage de cellules), cette valeur est fixe ou variable. la valeur a ecrire dans les cellules vide (H1:V1000) sera fixe ou en fonction de la valeur colonne D ???

A+
0
Rebonjour et merci pour votre compréhension.

Pour répondre à votre question je vais vous donné un exemple qui sera probablement plus parlant.
Si en D2, j'ai la valeur "En cours", j'aimerai que sur la rangée H2:V2 pour chaque cellule vide une valeur X vienne s'insérer. En revanche, si j'ai une valeur "Terminé", je souhaiterai que chaque cellule vide de la range comporte une valeur Y.

Je ne sais pas si je suis très clair... dans mon explication. N'hésiter pas à me le faire savoir.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 juil. 2013 à 09:45
Bonjour,

un petit exemple de code:

https://www.cjoint.com/c/CGgjSsf0rIr

A+
0
Bonjour,

Merci pour votre code je l'ai testé et il fonctionne super bien. Encore merci.
Petite question j'ai essayé de le modifié pourqu'il ne fonctionne que ligne par ligne. Soit si en D3 la valeur est "En cours" H3:V3 se mettent à jour en fonction de D3.

J'arrive à modifié le code pour qu'il s'execute en fonction de toute la colonne D mais je n'arrive pas à le modifier pour qu'il ne modifie les valeurs que par ligne en fonction de la cellule D adjacente.

Encore merci pour le fichier car il m'a appris encore d'autre petits trucs qui me seront bien utiles. J'aimerai pouvoir me former efficacement, si vous avez des conseils je suis preneur.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 juil. 2013 à 09:36
Bonjour,

recapitulation de ce que je comprends de votre demande:

mettre a jour par ligne du tableau H1:Vxxxx en fonction de la valeur de la cellule D de la ligne (cellule D adjacente).

Est-ce ceci que vous voulez ????
0
Oui, j'aimerai que si d2 "en cours" alors h2:v2 se modifient
Si d4 "terminé" alors h4:v4 se modifient et ainsi de suite.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 juil. 2013 à 09:47
Re,

Je vous fais ca.

A+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 juil. 2013 à 10:00
Re,

adaptez a votre besoin:

https://www.cjoint.com/c/CGij7C3hLAV

A+
0
Un grand merci c'est exactement ça.
Je vais essayer d'apprendre et et d'appliquer ce que vous avez eu la gentillesse de me montrer.
J'avais essayer avec Ligne mais pas comme ça et forcément aucun résultat.
On va voir si j'arrive à retenir et mettre en pratique.
Un grand merci.
0