Recherche et remplacer

Bonjour à tous,

J'aurai 800 lignes dans un code

Sheets("article").Range("l7") = Sheets("vente").Range("i7") + Sheets("article").Range("l7")

Je dois changer à chaque ligne par le n° suivant exp ici le"7" que je devrai faire passer à "8" ela prochaine lige de "8" à "9".

Y a t-il une solution plus simple pour une recopie en changeant les chiffres.

Merci de votre aide

Amicalement

Noel

Bonjour,

essaye avec

Sub essaiNoel()
Dim Lg%, i%
    Lg = Sheets("article").Range("i65536").End(xlUp).Row
        For i = 7 To Lg 'démarre en ligne 7 colonne "i"
            With Sheets("article").Cells(i, 9)
                .Value = .Value + Sheets("vente").Cells(i, 9)
            End With
        Next i
End Sub

Amicalement

Claude

édit: ajouté nom feuille au début (Lg)

Re,

Bonjour Claude,

Je te remercie pour ton code, je pense que je dois faire un bouton pour recevoir ce code

c'est ce que j'ai fait mais en cliquant ça tourne mais rien ne se passe.

Pour faire la mise à jour du stock j'ai une macro qui s'appelle "StkSrt" qui reprend le stock sorti pour incrémenter au niveau de la feuille "Article"

Ce code se trouve au niveau de la feuille "vente" dont je te donne la macro sur environ 15 lignes alors je dois faire 800 lignes identiques dont voici le code :

Sub StkSrt()
Sheets("article").Range("l3") = Sheets("vente").Range("i3") + Sheets("article").Range("l3")
Sheets("article").Range("l4") = Sheets("vente").Range("i4") + Sheets("article").Range("l4")
Sheets("article").Range("l5") = Sheets("vente").Range("i5") + Sheets("article").Range("l5")
Sheets("article").Range("l6") = Sheets("vente").Range("i6") + Sheets("article").Range("l6")
Sheets("article").Range("l7") = Sheets("vente").Range("i7") + Sheets("article").Range("l7")
Sheets("article").Range("l8") = Sheets("vente").Range("i8") + Sheets("article").Range("l8")
Sheets("article").Range("l9") = Sheets("vente").Range("i9") + Sheets("article").Range("l9")
Sheets("article").Range("l10") = Sheets("vente").Range("i10") + Sheets("article").Range("l10")
Sheets("article").Range("l11") = Sheets("vente").Range("i11") + Sheets("article").Range("l11")
Sheets("article").Range("l12") = Sheets("vente").Range("i12") + Sheets("article").Range("l12")
Sheets("article").Range("l13") = Sheets("vente").Range("i13") + Sheets("article").Range("l13")
Sheets("article").Range("l14") = Sheets("vente").Range("i14") + Sheets("article").Range("l14")
Sheets("article").Range("l15") = Sheets("vente").Range("i15") + Sheets("article").Range("l15")
Sheets("article").Range("l16") = Sheets("vente").Range("i16") + Sheets("article").Range("l16")
Sheets("article").Range("l17") = Sheets("vente").Range("i17") + Sheets("article").Range("l17")
End Sub

Tu vois la difficulté je dois rentrer 800 lignes identiques en changeant que les chiffres

Il y a une chose que je n'ai pas compris c'est :

édit: ajouté nom feuille au début (Lg)

Avec mes remerciements

Amicalement

Noel

re,

Laisse tomber ton code et envoie les 2 feuilles (raccourcies), pour voir la structure.

Claude

Re,

Voici le bout de fichier.

Merci d'avance

Amicalement

Noel

10classeur1-xls-2.zip (51.21 Ko)

re,

C'est la colonne "L" et non "i" de la feuille "Article" que tu veux mettre à jour,

le "L" minuscule est à éviter dans les codes, car on le confond avec des 1 ou des "I" (i) majuscule.

çà donnerait donc :

Sub essaiNoel()
Dim Lg%, i%
    Lg = Sheets("article").Range("a65536").End(xlUp).Row
        For i = 7 To Lg 'démarre en ligne 7
        With Sheets("article").Cells(i, 12) 'colonne "L"
                .Value = .Value + Sheets("vente").Cells(i, 9)
            End With
        Next i
End Sub

Claude

E,

Merci Claude pour ton intervention

Ca fonctionne

Mais la question qui mes reste en suspend comme tu as pu te rendre compte chaque mois je devrai faire la MAJ par ton code comment il prend les nouvelles ventes du mois suivant pour rajouter avec les anciens qui sont comptabilisées dans la feuille "Article"

Amicalement

Noel

re,

Quelle est la question ?

à noter qu'à la suite de mon code, il faudrait ajouter l'effacement des données "vente" A3:C11

sinon, elles risquent d'être ajoutées plusieurs fois.

Claude

édit: note aussi que dans la feuille "article", il ne devrait pas y avoir de liste déroulante ! (colonne c)

Re,

La question quand on a chargé la vente du mois précédent, pour le mois suivant il faudrait pouvoir ajouter les ventes de chaque mois avec l'existant dans la feuille "Article'

Pour l'effacement des donn"es je pense pouvoir y arriver en rajoutant

la sélection de la colonne "I".clearcontents. exemple Range("I3:I800").clearcontents

Pour rajouter les éléments de la colonne "I" de Vente dans la colonne "L" d'article ça je ne sais pas faire si ce n'est que ce que j'ai fait dans mo premier code :

Sheets("article").Range("l3") = Sheets("vente").Range("i3") + Sheets("article").Range("l3")

Merci

Amicalement

Noel

re,

Sheets("article").Range("l3") = Sheets("vente").Range("i3") + Sheets("article").Range("l3")

c'est exactement ce que fait mon code sur toutes les lignes

Pour l'effacement des donn"es je pense pouvoir y arriver en rajoutant

la sélection de la colonne "I".clearcontents. exemple Range("I3:I800").clearcontents

non ! tu as des formules en colonne "i"

où est le problème ?

Claude

Re

Effectivement j'ai des formules en "I" Mais j'ai un code qui remets les ventes à 0 pour le mois suivant comment je cumul les ventes du mois dernier avec ceux du mois en cours.

Exp : Quand je vends les stocks vendus passent systématiquement dans la colonne "I" de la feuille vente en fin de mois je bascules ces ventes dans la colonne "L" de la feuille Article. Après pour le mois suivant si je réutilise ton code pour réinstaller les ventes du mois en cours il efface systématiquement la colonne"L" et remet en place les ventes du mois en cours et les ventes du mois précédents ont disparu.

Alors ma question que faut-il rajouter dans ton code pour les chiffres du mois précédents ne sont pas remplacer par ceux du mois en cours.

Merci de ton aide

Amicalement

Noel

re,

Alors ma question que faut-il rajouter dans ton code pour les chiffres du mois précédents ne sont pas remplacer par ceux du mois en cours.

les chiffres ne sont pas remplacés, mais cumulés (dans la feuille "article").

Je n'ai pas suffisamment d'éléments pour t'aider davantage

Amicalement

Claude

Bonjour à tous,

Bonjour Claude je crois qu'avec Dan on a trouvé la solution de "TABLEAU CROISÉ"

Je te remercie de ton aide

Amicalement

Noel

Rechercher des sujets similaires à "recherche remplacer"