Remplissage conditionnel

Résolu
jerome99 -  
 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

3 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
    0
    1. jerome99
       
      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
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > 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
        0