XL 2019 Macro mise en forme devis

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Reddington

XLDnaute Nouveau
Bonjour le Forum,

Je vous expose mon souci:
Je travaille actuellement sur la mise en place d'un fichier devis.
J'ai une feuille "Chiffrage" sur lequel j'ai mes différentes colonnes pour faire mon chiffrage (jusque la pas de problème)
J'ai ensuite une feuille "Devis" dans lequel j'ai fait une mise en forme et qui contient des renvois et des formules et qui va chercher les valeurs des colonnes de ma feuille "Chiffrage"
J'utilise la macro suivante:



VB:
Sub MacroDevis()
'
'
    Range("B16:M16").Select
    Selection.Copy
    Range("B17:M17").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("Tableau2[[#Headers],[Filtre]]").Select
    ActiveSheet.ListObjects("Tableau2").Range.AutoFilter Field:=12, Criteria1:= _
        "<>"
    ActiveSheet.ListObjects("Tableau2").Range.AutoFilter Field:=12
    Rows("16:16").Select
    Selection.EntireRow.Hidden = True
    ActiveSheet.ListObjects("Tableau2").Range.AutoFilter Field:=12, Criteria1:= _
        "<>"
End Sub

J'ai malheureusement un blocage et je n'arrive pas copier l'ensemble des champs de ma feuille "Chiffrage"

Pourriez vous m'aider a debugger ce code?

En vous remerciant par avance
 
Bonjour,

C'est toujours très pénible de débugguer un code sans utiliser le déboggueur intégré à Excel via F8.
Peux-tu nous envoyer le fichier ? Ainsi nous pourrions réparer ton code et l'optimiser... Les Select sont toujours superflus, par exemple.
 
En gros:

- Copier a partir de la ligne 18 de Chiffrage
- Coller a partir de la ligne 10 de Devis
- Pouvoir Incrementer le numéro de ligne dans Devis
- Ne pas coller les lignes avec une quantité a 0 (dans chiffrage) dans Devis

Dans chiffrage, les colonnes utiles sont de A à F. Le reste c pour du calcul

(Je me suis lancé dans ce code en novice de VBA, mais il y a surement plus optimisé)

En te remerciant par avance
 

Pièces jointes

Merci pour ton retour.

Cela fonctionne.

Mais j'aurais quelques questions:

- Le fichier pourra-t-il servir pour plus de 47 lignes. Cela arrive d'avoir près de 900 lignes a copier avec plusieurs postes (jusqu'a 15)
- Serait-il possible d'avoir une ligne de séparation entre chaque poste pour faciliter la lecture dans le devis. C'est pour cela que j'avais mis un filtre (x) dans la première macro.
- Est-il possible d'affecter la macro a un bouton d'action pour ne pas passer par l'onglet developpeur a chaque fois.

Merci
 
Rebonjour le forum, Rebonjour Ikito.

Merci pour ton dernier coup de main. Toutefois, le problème se complexifie un peu. Il faut maintenant que je fasse un copier coller mais avec liaison sur la première feuille.
En effet, souvent il me faut faire quelques modifications a la marge et cela ne reporte pas une fois que le devis a été généré.

Merci pour ton aide
 
Bonjour a vous,

J'ai essayé de modifier la macro (en fonction de ma comprehension!!!) mais je n'arrives pas a avoir le resultat escompté:

VB:
Sub Report()

Set ws_chiffrage = Sheets("Chiffrage")
Set ws_devis = Sheets("Devis")

ws_devis.Range("B10:H1000").ClearContents

Compteur = 10
NbLig = 1

For i = 21 To 3000
    If (ws_chiffrage.Cells(i, "B") = "" And ws_chiffrage.Cells(i + 1, "B") = "") Then Exit For
  
  
    If (ws_chiffrage.Cells(i + 1, "F") <> 0 And ws_chiffrage.Cells(i + 1, "F") <> "") Then
        Range(Cells(i, 2), Cells(i, 7)).Select
        Selection.Copy
        Sheets("Devis").Select
        Range("B2").Select
        ActiveSheet.Paste Link:=True
          
        Compteur = Compteur + 1
        NbLig = NbLig + 1
    End If
Next

End Sub

Je souhaite copier les colonnes de A a F de ma feuille chiffrage et les coller avec liaison sur la feuille devis.
Il ne faut copier que les lignes pour lesquelles on a une valeur sur la colonne F.

Le fichier est joint plus haut pour exemple

Merci beaucoup pour votre aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
307
Réponses
7
Affichages
113
Réponses
3
Affichages
257
Réponses
1
Affichages
449
Retour