VBA - Copier coller et décalage des formules

Bonjour tout le monde,

J'ai réalisé une VBA permettant de faire sortir des informations d'une base de données grâce à la recherche d'un mot afin d'obtenir un tableau de synthèse plus visualisable pour l'utilisateur. Cependant, ma base de données contenant des formules, lorsque j'effectue ma VBA, il y a un décalage des cellules qui empêche le bon fonctionnement du calcul. J'aimerais savoir s'il est possible d'arranger cela.

Je vous envoie le fichier en pièce jointe

Pour donner un exemple, lorsque l'on appuie sur le bouton "Paramètre" et que l'on rentre le mot "Lait", les données sont affichées mais la moyenne et l'écart-type ne sont plus calculés. Il en est parfois de même pour les colonnes Ecart-moyen, Min et Max qui subissent des décalages.

12test.xlsm (28.87 Ko)

Merci d'avance et bonne journée

Bonjour,

Tes références de plage sont figées dans tes formules, donc quand ta macro colle tes lignes à un endroit différent, les plages de calculs se trouvent erronées. Dans ce cas, utilise plutôt une MOYENNE.SI() par exemple.

Le plus simple serait de faire un collage spécial dans ta macro pour ne garder que les valeurs, comme ça, plus de soucis avec les formules.

Bonjour,

J'ai repris votre macro. Faire une seconde passe pour reprendre la formule, mais il est vrai que pour les colonnes K à P, les valeurs dépendent des moules donc peut etre essayer de faire un copie colle des valeurs. pour régler ce problème de décallage.

Mais sinon pour les colonnes I et J (Moyenne intermoules Ecart type), c'est réglé.

Bonne continuation

8test-v2.xlsm (33.82 Ko)

Bonjour,

Si jamais tu veux copier coller que les valeurs remplace ton " If not " dans le code Parametre par cela :

If Not rgF Is Nothing Then
         rg.Rows(i).Copy
         Sheets("Synthèse").Range("A60000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
         Set rgF = Nothing
End If

Merci beaucoup ! J'avais complètement oublié l'idée du collage spécial

Rechercher des sujets similaires à "vba copier coller decalage formules"