Copier-coller éléments sur une autre feuille

Zekron

XLDnaute Nouveau
Bonjour,

Je travaille actuellement sur un projet de facturation sur excel. J'utilise une macro pour le mener à bien, cependant je bloque sur une formule ...
Sur la Feuil1 j'ai tous mes éléments, mais je voudrais que seuls les éléments ayant une quantité différente de 0 se retrouvent dans la feuille facturation avec le libelle et le code article correspondant.
J'ai essayé de mettre au point une macro, mais il me manque cette formule ... :

Si D5 est supérieur à 0
alors copier dans le classeur facture
à tel emplacement les cases B5, C5 et D5

Ci-joint le fichier excel en question avec la macro.

Je vous remercie par avance de votre aide.

Cordialement
 

Pièces jointes

  • Test macro.xlsm
    22.9 KB · Affichages: 38
  • Test macro.xlsm
    22.9 KB · Affichages: 39

Modeste

XLDnaute Barbatruc
Re : Copier-coller éléments sur une autre feuille

Bonjour Zekron et bienvenue,

Juste pour ne pas travailler pour rien ... si tu repasses par ici, dis-nous si tu serais intéressé par une solution sans macro?

Dans tous les cas, il faudrait sans doute que tu expliques l'usage que tu fais de ton fichier: tu "pointerais" les articles à reprendre dans la facture, en indiquant une quantité en regard de chaque article concerné, en Feuil1 :confused:
 

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Bonjour Modeste et merci de votre réponse.

On m'a conseillé d'utiliser une macro pour cela, voila pourquoi j'ai choisi cette solution, cependant si une solution sans macro serait beaucoup plus simple, pourquoi pas ...

Dans le fichier j'ai des références de matériel dans la feuil1 et je dois indiquer les quantités du matériel dont j'ai besoin. Et je veux que seules les quantités différentes de zéro se retrouvent dans "Facture".

J'espère être clair dans mon explication.

Merci.
 

Hieu

XLDnaute Impliqué
Re : Copier-coller éléments sur une autre feuille

Salut,

Je te propose cette macro :
Code:
Sub mjkl()
Set libelle = Sheets("Feuil1").Range("b4")
Set code = Sheets("Feuil1").Range("c4")
Set quantite = Sheets("Feuil1").Range("d4")
i = 1
j = 1
Do
If quantite.Offset(i, 0) <> 0 Then
    Sheets("Facture").Range("b3").Offset(j, 0) = libelle.Offset(i, 0)
    Sheets("Facture").Range("c3").Offset(j, 0) = code.Offset(i, 0)
    Sheets("Facture").Range("d3").Offset(j, 0) = quantite.Offset(i, 0)
    j = j + 1
End If
i = i + 1
Loop Until libelle.Offset(i, 0) = ""
End Sub


++
Hieu
 

Modeste

XLDnaute Barbatruc
Re : Copier-coller éléments sur une autre feuille

Re,

En fait, la solution à mettre en œuvre dépend -pour beaucoup- de ce que tu veux faire "autour" de ta question. Un début de piste donc, en pièce jointe:
- en Feuil1, colonne E, une formule fait apparaître le n° de ligne concerné, dès que la quantité est supérieure à 0
- en Feuille Facture, une "simple" fonction INDEX permet d'afficher les Libellés, Codes et Quantités (dont le n° de ligne est affiché). La fonction SIERREUR permet de masquer les messages d'erreur, si la formule est recopiée plus bas.

Si tu te contentes d'imprimer (ou d'enregistrer au format pdf), cette proposition devrait suffire. Si par contre tu veux enregistrer une copie (en Excel) de chaque facture créée, il faudra prévoir un système différent ou "en complément"
 

Pièces jointes

  • facture (Zekron).xlsm
    23.7 KB · Affichages: 43

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Merci Hieu pour ta réponse !

J'ai essayer la macro mais excel m'envoie un message d'erreur : "erreur de compilation end sub attendu"
Pourtant il y'a bien un end sub à la fin ...
 

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Merci Modeste la formule me va très bien puisque j'aurais qu'a imprimer en PDF
Cependant excel me mets un message d'erreur "boucle sans do"
Je ne vois pas d'ou cela peut venir ...
 

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Bonjour,

Merci Hieu et Modeste pour votre aide, je pense garder la solution des formules car beaucoup plus simple.
Je vous remercie encore pour votre aide.
Bonne journée.

Cordialement.
 

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Bonjour,

Après avoir pu continuer à travailler sur mon fichier j'aimerai y ajouter une dernière chose :
je voudrais que le tableau figurant dans l'onglet "liste de matériel", insert une ligne automatiquement lorsque les cases précédentes sont remplies, afin de rendre mon fichier "plus beau" et éviter d'avoir un tableau de 152 lignes alors que j'en utilise que 5 ...
Par exemple si B5/C5/D5 sont remplis insertion automatique d'une ligne sinon pas d'insertion de lignes
Avez-vous des idées ?

Merci par avance de votre aide.

Cordialement.
 

Pièces jointes

  • Liste de matériel type_5.0 - Test.xlsm
    82 KB · Affichages: 35
  • Liste de matériel type_5.0 - Test.xlsm
    82 KB · Affichages: 38

Modeste

XLDnaute Barbatruc
Re : Copier-coller éléments sur une autre feuille

Bonjour,

je voudrais que le tableau figurant dans l'onglet "liste de matériel", insert une ligne automatiquement lorsque les cases précédentes sont remplies, afin de rendre mon fichier "plus beau" et éviter d'avoir un tableau de 152 lignes alors que j'en utilise que 5 ...
Désolé, mais tu parles de quoi? De bordures? De lignes vides? Y a-t-il un rapport avec ce qui est visible dans ta feuille "Liste de matériel"? (auquel cas, je ne comprends pas mieux!?)
 

Zekron

XLDnaute Nouveau
Re : Copier-coller éléments sur une autre feuille

Oui je parle de bordures et il y'a un rapport avec ce qui est visible dans "liste de matériel"
Je vais te donner un exemple :

si dans la feuille "catalogue" je rentre 1 en quatité dans coffret, celui-ci va apparaitre dans "liste de matériel".
Maintenant si je met 1 en quantité dans coffret et par exemple 23 en quantité pour "porte" les deux libellés vont s'afficher dans "liste de matériels" cependant je voudrais que les bordures s'agrandissent pour englober ces deux libélles.

J'espère avoir été clair ... :p

Merci.
 

Modeste

XLDnaute Barbatruc
Re : Copier-coller éléments sur une autre feuille

Re,

Il me semble que j'essaierais, sur la plage de B5 à Dxx, une Mise en Forme Conditionnelle > Nouvelle règle > Appliquer une mise en forme uniquement aux cellules qui contiennent > La valeur de la cellule est > Différente de > ="" > Format: bordures appliquées au contour

Ceci dit, je ne sais pas pourquoi tu as des cellules vides en lignes 6, 7 et 8 :confused:
 

Discussions similaires

Réponses
2
Affichages
185

Statistiques des forums

Discussions
312 497
Messages
2 088 984
Membres
103 998
dernier inscrit
Gotteland