Remplacement de cellules avec conditions [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014
-
Messages postés
2
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014
-
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

Messages postés
16174
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 août 2020
3 000
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
Messages postés
16174
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
6 août 2020
3 000
MERCI,DE RIEN !!!
Messages postés
2
Date d'inscription
lundi 7 juillet 2014
Statut
Membre
Dernière intervention
10 juillet 2014

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 !)