Problème avec des cellules de formules qui deviennent #REF

Bonjour,

Je suis nouveau ici et n'utilise excel/vba que récemment. J'ai réussi à développer un outil excel pour faciliter la création de dossier de commande pour mon entreprise. Il marche à moitié! et j'ai besoin d'aide pour un peu plus...

Il y a un onglet principal avec un bouton d'import. L'utilisateur l'utilise pour importer sa commande depuis un configurateur dans son dossier commande. En pratique, je copie une grosse base de donnée du configurateur dans un onglet. Et ensuite j'ai mis une formule dans une ligne du dossier commande et il se remplit automatiquement en la copiant/collant sur les autres lignes.

Sauf que le dossier de commande ne prend par défaut que 19 lignes maximum. S'il y a plus de 19 lignes articles, les commerciaux remplissent en plus un autre document pour "commande multipile". J'ai donc crée l'onglet dans le même excel, et si le nombre d'éléments est supérieur à 19 l'onglet s'affiche, mais c'est ici que ça beug...

ici : on voit l'onglet normal avec exemple la case A43 contient la formule =SIERREUR etc. et pareil dans C43 etc... ce copié collé marche à merveille jusqu'à la dernière ligne.

image

Le soucis c'est dans l'onglet Commande Multiple, je n'arrive pas à faire le même copié collé, excel essaie mais toutes les formules vont remplacer les cellules par #REF! et m'afficher que des #VALEUR!

image

Pour plus d'info, le code du premier :

If Count_product <= 19 Then '19 est le nombre de lignes par défaut dans le dossier de liaison

Wb_Start.Sheets("DOSSIER DE LIAISON").Activate
For i = 2 To Count_product
Rows("43:43").Select
Selection.Copy 'copie pour la mise en forme des cellules
Rows("44:" & 44 + i - 2).Select 'selection de la plage pour coller la mise en forme
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A43:AE43").Select 'selection de la ligne des formules
Selection.Copy 'copie des formules
Range("A44:AE" & 44 + i - 2).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
Sheets("Commande Multiple").Visible = xlSheetVeryHidden
MsgBox ("L'import des données de l'ADR est fait!" & vbCrLf & "Merci de vérifier le contenu!")
Else 'pour les grandes commandes

Wb_Start.Sheets("DOSSIER DE LIAISON").Activate
For i = 2 To 19 ' Count_product - 19 temporairement pour copier que la première page
' If i <= 19 Then
Rows("43:43").Select
Selection.Copy 'copie pour la mise en forme des cellules
Rows("44:" & 44 + i - 2).Select 'selection de la plage pour coller la mise en forme
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A43:AE43").Select 'selection de la ligne des formules
Selection.Copy 'copie des formules
Range("A44:AE" & 44 + i - 2).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next i
MsgBox ("L'import des données de l'ADR est fait!" & vbCrLf & "Merci de vérifier le contenu! " & vbCrLf & "L'onglet commande multiple est à remplir manuellement!")
Call Commandemultiple
Sheets("Commande Multiple").Visible = xlSheetVisible

et le code Commandemultiple :

Sheets("COMMANDE MULTIPLE").Activate
Sheets("COMMANDE MULTIPLE").Select
Range("A9:AG9").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=0
ActiveWindow.Zoom = 55
Range("A10:AG82").Select
ActiveSheet.Paste

End Sub

Pour info, même si je mets les formules par défaut dans les cases, une fois qu'il importe la base de données dans l'onglet (DB_HW) qui est totalement vide au départ, la formule remplace R21 par #REF!.

Que pourrais-je faire à votre avis?

Merci et désolé du long message!

Bonjour,

Le message #REF! apparaît lorsque l'on supprime une cellule à laquelle faisait référence la formule. Cela voudrait donc dire qu'à un moment, tu supprimes des cellules.

Comme tu n'as pas mis tout le code, c'est dur à dire.

Bonjour et merci pour la réponse,

le soucis c'est que le code est "trop long" et contient des éléments que je devrais anonymiser avant de le poster, je vais réfléchir à ce qui se passe et si je trouve pas je vous mets le code!

Merci

Bonjour bachinobi et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum.

Au sujet de vos posts, merci de mettre le code entre balises afin d'une meilleure lisibilité, avec le bouton

image

Bonne participation

Cordialement

Rechercher des sujets similaires à "probleme formules qui deviennent ref"