Remplacement de cellules avec conditions

Résolu
viandax Messages postés 2 Statut Membre -  
viandax Messages postés 2 Statut Membre -
Bonjour,

Voilà je me suis pas très (pour ne pas dire pas du tout) compétent sur VBA.

Pour faire simple : j'ai un classeur excel comportant 2 feuilles :

-la première comporte des objets listés en colonne (colonne "n"), sur cette même feuille la colonne "n-1" correspond à un numéro propre à chaque objet de la colonne "n", pour finir une colonne "n+1" comporte soit un numéro soit la lettre f.

-la seconde feuille comporte une colonne "v" listant une partie des objets de la première feuille (tri effectué par une macro : ne sont copiés que les objets ayant un f à la colonne "n+1"), il y a toujours la colonne "v-1" comportant le numéro propre a chaque objet, et la colonne "v+1" avec donc le f .

j'espère être assez clair et précis...

Sur cette feuille, je remplace manuellement le f par un numéro pour chaque objet.

Pensez-vous possible de remplacer le f de la colonne "n+1" de la première feuille par le numéro rentré manuellement en "v+1" de la deuxième feuille, et ceci juste pour les éléments présents sur la deuxième feuille ?

Tout début de piste est bon à prendre, je ne connais absolument pas les fonctions et possibilités de VBA... Merci par avance !

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    plutôt que d'écrire "pour faire simple" sois précis: il aurait été utile de fournir le nom des colonnes réelles et le nom des feuilles concernées surtout si tu ne connais pas VBA

    donc j'ai utilisé la feuille1 colonnes ABC
    transférée en feuille2 colonnes CDE changement de "f" dans colonne E
    à toi d'adapter

    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim numero As Integer, Lig As Integer
    If Target.Column = 5 And Target <> "f" Then '(5<--> E)
    numero = Target.Offset(0, -2)
    With Sheets(1)
    Lig = .Columns("A").Find(numero, .Range("A30000"), xlValues).Row
    .Cells(Lig, "C") = Target
    End With
    End If
    End Sub

    comment installer ?
    faire un "copier" cette macro
    clic droit sur le nom de l'onglet de la feuille concernée( feuil2) (en bas de l'écran)
    visualiser le code
    coller
    -------------------------------------------------------------------------------------------
    Si les macros ne sont pas activées
    xL<2007
    cocher menu  options-macros-sécurité- niveau moyen
    XL>=2007
    1/ Si l'onglet Développeur n'apparait pas dans le ruban:
    Cliquer sur le bouton Office,
    puis sur le bouton Options Excel.
    Cliquer sur le menu Standard.
    Cocher l'option Afficher l'onglet Développeur dans le ruban.
    Cliquer sur le bouton OK pour valider.
    2/ activer les macros
    Cliquer sur le bouton Office,
    puis sur le bouton Options Excel.
    Cliquer sur centre de gestion de confidentialité
    puis sur param^tre du centre de gestion de la confidentialité
    puis cocher le bouton radio activer les macros
    Cliquerz sur le bouton OK pour valider.
    ton Excel est maintenant définitivement prêt à travailler avec des macros


    Michel
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      MERCI,DE RIEN !!!
      0
    2. viandax Messages postés 2 Statut Membre
       
      Excuse moi, je l'ai fait, mais cela a du mal fonctionner depuis mon travail, je m'en excuse, je suis impardonnable... Ceci étant dit je te remercie pour ton bout de code, il correspond grosso modo à ce que je veut faire, juste quelques détails à modifier et cela devrait aller. Encore merci pour ta réponse rapide (toi !)
      0