Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier coller avec 1 condition dans une nouvelle feuille.

  • Initiateur de la discussion Initiateur de la discussion medseb
  • Date de début Date de début

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 !

M

medseb

Guest
Bonjour,

Je dois générer sur mon imprimante des étiquettes d'un fichier de références. Certaines références comportent une quantité supérieure à 1. Je voudrais que la quantité d'une meme référence soit dupliquée autant de fois.

Je suis complètement novice en macros excel et en VBA. Pourriez m'aider à le faire sur le fichier joint qui est le modèle type que j'utilise.
Pour info ci-joint mon fichier excel type (qui peux faire plusieurs centaines de lignes)

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Copier coller avec 1 condition dans une nouvelle feuille.

Bonjour à tous

medseb [Bienvenue sur le forum]
Juste de passage pour une suggestion
Une solution plus souple est de passer par le publipostage avec Word.
(voir ici un tutoriel)

EDITION: Bonjour néné06
 
Dernière édition:
Re : Copier coller avec 1 condition dans une nouvelle feuille.

Bonjour Medseb, Salut Jean-Marie

Regardes cet exemple que j'ai détaillé en code VBA et dis-nous ?

A+

edit: je viens de réaliser que tu est sur Mac et je ne peux tester ???

René
 

Pièces jointes

Dernière édition:
Re : Copier coller avec 1 condition dans une nouvelle feuille.

Bonsoir medseb, Jean-Marie, René,

MAC accepte les tableaux VBA, ceci ne devrait pas poser de problème :

Code:
Sub Dupliquer()
Dim t, ncol%, rest(), i&, j&, n&, k%
t = [A1].CurrentRegion 'matrice, plus rapide
ncol = UBound(t, 2)
ReDim rest(1 To Application.Sum(Application.Index(t, 0, 2)) + 1, 1 To ncol)
'---remplissage du tablau---
For i = 2 To UBound(t)
  For j = 1 To t(i, 2)
    n = n + 1
    For k = 1 To ncol
      rest(n, k) = t(i, k)
    Next
    rest(n, 2) = 1
  Next
Next
'---restitution---
With Sheets("Résultat")
  .Rows("2:" & .Rows.Count).Delete 'RAZ
  .[A2].Resize(n + 1, ncol) = rest
  .Activate
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
Réponses
5
Affichages
1 K
Cocoraphsg
C
T
Réponses
2
Affichages
450
T
Z
Réponses
5
Affichages
2 K
Zimzim
Z
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…