Recherche code pour remplacer des valeurs par vba sous condition

Résolu
JinRo Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
 JinRo -
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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   Statut Membre Dernière intervention  
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
JinRo
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
JinRo
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

un petit exemple de code:

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

A+
0
JinRo
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
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
JinRo
 
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 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Je vous fais ca.

A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

adaptez a votre besoin:

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

A+
0
JinRo
 
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