Remplir des cellules avec condition

V

VeroAnne

Guest
Bonsoir à toutes et à tous

Comment puis-je écrire, dans Excel, en VBA le code suivant:

J'ai 3 colonnes A, B, C .
"A" vide
"B" contient toujours la même valeur numérique (c ma référence)
"C" contient des valeurs numériques quelconques.

Je voudrais: Si la valeur de D2 est égale à la valeur de référence B2
alors "A2" = "UN"
Si "D3" = "B2" alors "A3"= "UN"
Si "D4" = "B2" alors "A4"= "UN"
.........
ELSE "A2" = "DEUX"
....
et ce jusqu'à la fin de mon tableau.

Je pense que c'est relativement clair, non! Ben pas pour moi, je patauge dans mes boucles, dans les FOR..IN.....
Si quelqu'un pouvait m'aider ou me mettre sur la voie ça me ferait plaisir.


Bonne soirée à tout
VéroAnne
 
G

Gérard Dezamis

Guest
Bonjour VeroAnne

Ta as demandé en VBA .....
je te propose en attendant en A :

=SI(D2=$B$2;"UN";"DEUX")

et j'attends aussi la "traduction" histoire de prendre une petite leçon au passage...

Bon courage et bonne journée

@+ GD
 
V

veroAnne

Guest
Bonsoir tout le forum
Bonsoir Gérard

Merci de t'intéresser au sujet. Mais c'est vraiment en VBA que je souhaite réaliser cette action, qui rentre dans une série d'actions à faire sur le fichier.
EN tout cas merci beaucoup.

Bonne soirée

VeroAnne
 
V

veroAnne

Guest
Re bonsoir le Forum

Je pense qu'un petit fichier joint serait plus facile à expliquer exactement ce que je recherche à faire.
Donc c'est chose faite. Je continue a potasser, mais un peu d'aide me soulagerait, je l'avoue.

Bonne soirée à tous

VeroAnne
 

Pièces jointes

  • essaicopycolonne.zip
    2.8 KB · Affichages: 31
V

VeroAnne

Guest
Bonsoir à tout le monde

Sniff sniff

QUe faut-il faire, que fait-il dire pou rpouvoir espérer une réponse....
Je pense que tout sujet exposé ici mérite une réponse, quelle qu'elle soit...
Autant je dirais merci à ce Forum qui indirectement m'a apporté des réponses à des questions que je me posais, sans pour cela les avoir posées, autant ce soir je suis décue de me retrver en 48 Hures en fin de deuxième page.... donc aucun intérêt.. SNIF SNIF

Non rassurez vous, décue , oui c'est vrai, mais je ne pleure pas.
J'ai appris quelque chose ce soir: " necompte sur personne". Donc je vais tenter de déployer mes méninges pour arriger à formuler tout cela.

N'yant pas eu de réponse à part "Gérard" que je remercie, je vous dis à tous simplement bonne soirée.
VéroAnne
 
Y

ya_v_ka

Guest
Salut VeroAnne,
Je me permets de prendre part à ce fil, non pour te donner une réponse, mais pour te poser trois questions:

Combien d'entreprises rémunérées te garantissent une réponse dans les les 48 heures?

En voyant le coût du dépannage ici, je pense qu'un peu de patience ou de compréhension envers les nombreuses personnes qui investissent de leur temps pour les autres serait bienvenu... non ?

et, il est possible que personne n'ait la réponse à ta question (si si, cela arrive...) alors peut être qu'en cherchant par un autre moyen... les possibilités seraient plus nombreuses... qui sait ?

voilà, désolé, à bon entendeur.... et bonne chance quand même pour ton fichier

Ya'v
 
V

VeroAnne

Guest
Bonsoir à toutes et à tous

Avant toute chose je vous présente mes excuses pour mes propos colériques et non justifiés j'en conviens. Cet exercice, non vital bien sûr me tenait à coeur et j'étais pressée d'aboutir.
Donc voilà, pardon pour cette attitude d'autant que ce forum m'apporte beaucoup et le mot est faible.

Ceci dit, j'ai tout de même continué à chercher et, avec de la patience et divers essais j'ai réussi , toute seule, à trouver un code qui fonctionne. Il n'est peut-être pas très cohérent, je ne sais pas, mais il semble fonctionner.
Donc je vous le livre ici.

Sub Macro1()

Dim ab As Integer
Dim Cel As Range
ab = Range("B2").Value

For Each Cel In Range("D2:D" & Range("D65536").End(xlUp).Row)
If Cel.Text = ab Then

Cel.Offset(0, 0).Copy Destination:=Cel.Offset(0, -2)
Cel.Offset(0, 1).Copy Destination:=Cel.Offset(0, -1)
Cel.Offset(0, -3).Value = "UN"

Else
Cel.Offset(0, 0).Copy Destination:=Cel.Offset(0, -1)
Cel.Offset(0, 1).Copy Destination:=Cel.Offset(0, -2)
Cel.Offset(0, -3).Value = "DEUX"

End If
Next Cel

End Sub


Bonne soirée à tous
VeroAnne
 

Discussions similaires

Statistiques des forums

Discussions
312 400
Messages
2 088 086
Membres
103 710
dernier inscrit
amin Saadaoui