Remplissage conditionnel

[Résolu/Fermé]
Signaler
-
 jerome99 -
Bonjour,

J'aurais besoin d'aide pour du "remplissage conditionnel"

je remplis un tableau au long cours (1250 lignes aujourd'hui)

la colonne A correspond à un nom avec des noms qui reviennent périodiquement le long des lignes.

Ce que je souhaite obtenir : c'est plus clair avec un exemple directement,

Quand je remplis la case "A1250" avec un nom identique à celui de la case "A500 " je voudrais que le texte dans la case "M500" se copie automatiquement dans la case "M1250"

merci pour votre aide

colonne A : des noms, des noms....
colonne M : du texte


A voir également:

3 réponses

Messages postés
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263
Bonjour

Une possibilité par macro à mettre dans le worksheet de la feuille concernée (ALT+F11 pour ouvrir l'éditeur VBA, double clic sur la feuille dans l'arborescence à gauche, copier-coller la macro dans la page blanche puis fermer l'éditeur)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
For x = 1 To Target.Row - 1
If Range("A" & x) = Target.Value Then Range("M" & Target.Row) = Range("M" & x)
Next
End If
End Sub


Cdlmnt
Via
Merci pour la réponse si rapide, ca marche MAIS :

ca fonctionne quand je remplis la colonne A "a la main" mais en fait je la remplis via "copier/coller" (je copie des blocs de 5 à 15 lignes de la colonne A à J) ca rapporte une erreur (manifestement sur la 4ème ligne)

encore merci
Messages postés
13114
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
14 octobre 2021
2 263 > jerome99
Re

C'est normal la macro est faite pour réagir au changement dans une seule cellule, tu n'avais pas précisé que tu copiais des plages entière
Mais la formule de ccm81 (que je salue bien au passage) te dispense d'une macro
Pour l'adapter à une autre colonne il te suffit de changer les M dans la formule par la lettre de la nouvelle colonne

Cdlmnt
Messages postés
10148
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
17 octobre 2021
2 230
Bonjour

Avec ce que j'ai compris

Je suppose que tous les noms identiques en colonne A auront le même texte en colonne M

1° formule à mettre en colonne M (je l'ai mise en ligne 11)
à tirer vers le bas (assez loin après ta dernière ligne remplie)
=SI(ESTNA(RECHERCHEV($A11;$A$2:$M10;;0));"";RECHERCHEV($A11;$A$2:$M10;13;0))

Lorsque tu vas remplir ta colonne A, deux cas
1. Le nom existe plus haut et en colonne M tu vas récupérer la valeur correspondante
2. Le nom n'existe pas et tu va remplir à la main la colonne M, ce qui aura pour effet de supprimer la formule ( d'où le "assez loin" )

Cdlmnt
merci !
cela fonctionne, même quand je remplis mon tableau via un copier/coller

il arrive dans les 1250 premières lignes que pour un meme nom dans la colonne A, le texte en M soit différent : dans ces cas là, cela note un 0, ce qui ne me dérange pas.

encore merci
> jerome99
Bon,
mon problème se complexifie un peu : je souhaite faire la même manœuvre avec la colonne O mais quand je recopie en colonne O la formule que vous m'avez offerte, cela remplie la case avec le texte de la colonne M

je vais chercher, mais si la solution est rapide pour vous, je suis preneur.

encore merci
> jerome99
et ce meme si je remplace M par O dans la formule.
Messages postés
10148
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
17 octobre 2021
2 230
La colonne O est la colonne 15
La formule écrite en O14
=SI(ESTNA(RECHERCHEV($A14;$A$2:$O13;;0));"";RECHERCHEV($A14;$A$2:$O13;15;0))

Cdlmnt
Merci ! c'est parfait.

j'aurais du trouver tout seul...

merci pour cette entraide, c'est vraiment cool
surtout ces derniers temps.