Si valeur cellule identique, alors copier cellules

Bonjour,

Je travaille sur un fichier me permettant de trier des pièces en fonction de la matière et du diamètre de celles-ci.

Certaines pièces doivent avoir une sur-longueur, mais pas toutes.

Les exceptions se trouvent en page 4 "Données".

Après avoir ajouter les sur-longueur en page 3, pour chaque "Article fabriqué" de ma feuille 3, il me faut vérifié si l'article est présent dans ma feuille d'exceptions, et s'il y est présent, remplacer la longueur (colonne I) de la feuille 3 par celle de la même colonne en feuille 4.

Je vois comment parcourir la colonne D "Article fabriqué" mais je ne trouve pas comment vérifier l'existence de la donnée dans la feuille d'exception afin de remplacer la valeur Longueur

Merci d'avance pour votre aide

130feuille-scieur.xlsm (123.16 Ko)

Bonjour,

Désolé mais la demande n'est pas très claire

Il un exemple avec le nom des onglets ainsi que l'endroit ou doit se trouver le résultat souhaité

serait souhaitable.

Oui le fichier en question est dans le poste.

Je pensais avoir été précis, j'ai du mal m'expliquer.

Il faut que le code vérifie si les différents articles de ma colonne D dans les feuilles "Autres" et "25CrMo4" sont présents dans ma feuille "Données" (même colonne). Et si un article est bien présent dans cette feuille, il faut copier la cellule de la colonne I "Lg+2mm inclus" pour remplacer la longueur d'origine.

Oui le fichier en question est dans le poste.

Je pensais avoir été précis, j'ai du mal m'expliquer.

Il faut que le code vérifie si les différents articles de ma colonne D dans les feuilles "Autres" et "25CrMo4" sont présents dans ma feuille "Données" (même colonne). Et si un article est bien présent dans cette feuille, il faut copier la cellule de la colonne I "Lg+2mm inclus" pour remplacer la longueur d'origine.

Ok mais dans le cas contraire : ils viennent de où les infos longueur si les articles ne sont pas dans "Données"

dans "Abas" ?

Elles restent les même, la feuille donnée me sert juste pour les exceptions.

"Abas" est une feuille où je viens coller des données venant de notre ERP.

Je rajoute 2mm à la longueur de chacune des pièces de la feuille 25CrMo4, sauf que comme il y a des exceptions,

je souhaite en tenir la liste sur la feuille "Données" et changer la longueur si la pièce se trouve dans cette feuille

Bonjour,

Tu peux ajouter ce code :

With Worksheets(F)
Dim Cel As Range
    For Each Cel In .Range("D2:D" & .Range("D" & Rows.Count).End(xlUp).Row)
        Set C = Worksheets("Données").Columns("D").Find(Cel, , xlValues, xlWhole)
        If Not C Is Nothing Then
            Cel.Offset(, 5) = C.Offset(, 5)
        End If
    Next Cel
End With

Cordialement.

Bonjour,

Je viens d'essayer votre code, cela m'indique une erreur de compilation "Référence incorrecte ou non qualifiée"

For Each Cel In .Range("D2:D" & .Range("D" & Rows.Count).End(xlUp).Row)

J'ai essayé avec cela

For Each Cel In .Range(Cells(1, 4), Cells(Dy, 4))

(Dy étant le compteur de la dernière ligne)

mais j'ai exactement la même erreur, mais sur le 1er .Range

J'ai déjà déclaré plus haut un C as Range, je ne pense que cela vienne de là, je ne sais pas trop

As-tu essayé le code tel que je l'ai proposé (sans oublier With Worksheets(F)) ?

L'erreur venait de là, j'ai mal recopié le Worksheets..

Merci beaucoup!

Bonne journée à vous

Juste deux dernières questions

"With Worksheets (F)" pourquoi F? à quoi cela correspond?

J'ai essayé de l'adapter avec la feuille "Autres" et cela ne fonctionne pas, rien ne change.

Je pensais qu'il suffisait de coller le code juste après un Worksheets("Autres").Activate

j'ai changé le With Worksheets (F) en:

With Worksheets ("Autres")

With Worksheets ("25CrMo4") et cela fonctionne, je ne comprend juste pas pq la feuille était désignée par "F"

Dans la procédure AjouterEpaisseurLongueur, tu définis le nom de la feuille où est effectuée la copie F = "25CrMo4".

Je n’ai fait que reprendre cet identifiant.

Juste deux dernières questions

"With Worksheets (F)" pourquoi F? à quoi cela correspond?

J'ai essayé de l'adapter avec la feuille "Autres" et cela ne fonctionne pas, rien ne change.

Je pensais qu'il suffisait de coller le code juste après un Worksheets("Autres").Activate

j'ai changé le With Worksheets (F) en:

With Worksheets ("Autres")

With Worksheets ("25CrMo4") et cela fonctionne, je ne comprend juste pas pq la feuille était désignée par "F"

Bonjour, si tu regardes le code dans ton fichier d'origine tu trouveras dans :

Sub AjouterEpaisseurLongueur()

Dim F As String

et quelques ligne plus bas : F = "25CrMo4"

Donc Gyrus n'a fait que réutiliser la Variable "F" qui indique l'onglet 25CrMo4

Mais si tu déplaces son code dans une autre "sub" et que tu ne déclares pas à nouveau la variable F

alors çà ne fonctionne pas .

Ah oui effectivement je n'avais pas fait le lien.

Merci beaucoup

Rechercher des sujets similaires à "valeur identique copier"