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

Microsoft 365 formule Excel pour dupliquer une ligne selon une valeur dans une cellule

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 !

Carlot

XLDnaute Nouveau
Bonjour à tous,

Je souhaite voir avec vous si il est possible de dupliquer une ligne vers le haut selon un une cellule.
en effet Sage propose l'intégration analytique mais celui-ci demande que la ligne soit présent 2 fois exemple :
04/01/2021F2101161112000AGOEG239670
04/01/2021F2101161112000AGOEASIEGE236970
04/01/2021F2101161112000AGOEG00
04/01/2021F2101144566000AGOEG00
04/01/2021F2101144566000AGOEG2037,20

ici SIEGE est dupliquer pour le même montant.
le soucis c'est que mon fichier d'origine n'est pas dupliqué, c'est donc une ligne à créer à chaque fois qu'il y a une analytique...

merci de votre aide
 
Bonjour Carlot,
Quel est le critère de duplication ?
Si la cellule en colonne H ( la 8eme) n'est pas vide, je la duplique au dessus et supprime cette valeur dans la ligne copiée ?

Vous n'auriez pas un petit fichier test, ce serait plus simple.
 
Bonjour Carlot, sylvanu,

Bienvenue sur le site XLD ! 🙂

Je te propose le fichier joint ci-dessous ; fais Ctrl e ➯ travail effectué.

VB:
Sub Essai()
  Dim lig&: Application.ScreenUpdating = 0
  lig = Cells(Rows.Count, 1).End(3).Row
  Do
    With Cells(lig, 1)
      If .Offset(, 5) = "A" Then
        Rows(lig).Insert: .Resize(, 10).Copy .Offset(-1)
        .Offset(-1, 5) = "G": .Offset(-1, 7) = Empty
      End If
    End With
    lig = lig - 1
  Loop Until lig = 0
End Sub

si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. 😉

soan
 

Pièces jointes

Dernière édition:
Bonsoir Carlot, sylvanu,

toujours pas de retour ? 😕 lis d'abord mon post #3 précédent. 😉

tu peux aussi faire ce petit test : AVANT de lancer la macro, met un "A" en F2:F4 ; puis fais Ctrl etoutes les lignes sont copiées 1× au-dessus de la ligne précédente ➯ de 4 lignes, ça passe à 8 lignes ; note bien que pour une ligne copiée : a) je mets "G" au lieu de "A" en colonne F (donc compta Générale au lieu de compta Analytique ➯ y'a bien les 2 lignes requises pour l'intégration analytique faite par le logiciel SAGE) ; b) j'efface ce qui est éventuellement en colonne H.​

soan
 
 
Bonjour Soan,

Pour info chez nous a l'ile de la Reunion SOAN est un super chanteur! il a fait VOICE KID! et a gagné!!

Pour afficher ce contenu, nous aurons besoin de votre consentement pour définir des cookies tiers.
Pour plus d'informations, consultez notre page sur les cookies.

Soan, je suis désolé de te déranger j'ai un soucis avec mon fichier Excel, il est super lent en exécution sa peut allez jusqu'à 15 min pour traité mon fichier

help me please!! 🙁
 

Pièces jointes

Bonjour Didier,

sympa la vidéo, merci ! 🙂 il a bien mérité d'avoir gagné, le petit Soan !🥇en plus de bien chanter, il joue bien du tambour ! 👍

ton fichier en retour ; sur tes 2 feuilles "VOTRE IMPORT" et "sage" tu avais plein d'lignes vides inutiles et une colonne vide inutile ; je les ai toutes supprimées ➯ la taille du fichier est passée de 1 673 Ko (non zippé) à ... 102 Ko (non zippé) ! tu avais aussi plein d'valeurs d'erreur #REF! sur ta feuille de calcul ! et dans la liste de tes noms définis, tu as plein de #REF! ; tu les collectionne ? 😜 🤪 😁

fais Ctrl e, et essaye de patienter moins d'2 secondes ! 😊 ça passe de 67 lignes à 85 lignes ➯ 18 lignes de plus (y'avait donc 18 lignes avec "A") ; pour plus de sûreté, vérifie quand même bien tous les résultats !

attention : j'ai adapté la macro d'mon fichier précédent à ton nouveau fichier ! et cette macro ne s'exécutera que sur la feuille "VOTRE IMPORT".​

VB:
Sub Essai()
  If ActiveSheet.Name <> "VOTRE IMPORT" Then Exit Sub
  Dim lig&: Application.ScreenUpdating = 0
  lig = Cells(Rows.Count, 1).End(3).Row
  Do
    With Cells(lig, 1)
      If .Offset(, 6) = "A" Then
        Rows(lig).Insert: .Resize(, 19).Copy .Offset(-1)
        .Offset(-1, 6) = "G": .Offset(-1, 8) = Empty
      End If
    End With
    lig = lig - 1
  Loop Until lig = 2
End Sub

soan
 

Pièces jointes



DE RIEN pour la vidéo!

merci mais j'ai oublié de te donnée mon fichier de donnée, le voici ci dessous, du coup cela ne fonctionne pas sur votre import car votre import doit reprendre les infos de sage et les mettre dans la bonne case.

le fichier fonctionne bien mais juste qu'elle est vraiment pas rapide si ta l'occasion de la tester avec mon fichier teste ci joint

en te remerciant pour ton aide.

faudra que tu viennes sur l'ile pour boire un ti rhum
 

Pièces jointes

@Carlot

merci pour ton invitation de venir sur ton île, mais en fait, j'voyage pas beaucoup, surtout avec la pandémie actuelle du coronavirus ! et pour le rhum, en fait je ne bois pas d'alcool, je préfère les jus d'fruit, les sirops, et l'antésite (c'est une boisson à base de réglisse, aromatisée par exemple à la menthe ou au citron). 😜

j'ai vu ton fichier de données CSV, mais j'sais pas comment faut l'utiliser avec ton fichier Excel ; peut-être que si tu m'indiques la manip ? et pour le .xlsm c'est seulement à partir de la feuille "VOTRE IMPORT", n'est-ce pas ? les 2 autres feuilles "client" et "sage" sont pas concernées par ta demande ; note que j'ai pas utilisé tes boutons de commande, j'ai juste utilisé ma macro via Ctrl e.​

soan
 
Bon ben va pour un jus fruit kan le covid sera fini!

ah! ok!

bon pour utiliser il faut cliquer sur fichier RECEIPTBANK et ensuite tu cherches le fichier test, puis tu laisse faire et puis quand c'est fini tu cliques sur import!
tout fonctionne juste que c'est hyper long!
peux être raccourcir quelque chose dans le processus.....
 
- 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
489
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…