Eviter le doublon d'une copie

  • Initiateur de la discussion Initiateur de la discussion br44
  • 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 !

br44

XLDnaute Impliqué
Bonjour à tous ,

Voilà je voudrais savoir comment je peux évité de faire une copie en doublon avec une autre feuille .

je joint un dossier dans lequel vous trouverez les élément suivants :

Deux feuille de classeur l'une avec le résultat actuel avec le programme en entier tel que je l'ai essayer .

l'autre feuille est le résultat que je voudrais obtenir en insérant la nouvelle partie dans le programme de base .

Cette nouvelle partie ne comprend pour l'instant qu'une seul référence ,mais à l'avenir il se peut que d'autres Ref viennent se rajouter .


Si quelqu'un peux m'aider à modifier mon programme et me donner l'explication de la modification , cela auras aussi l'avantage de me progresser .

Vous remerciant par avance du coup de main je vous à plus sur se fil . Je me tient à votre disposition pour toutes infos complémentaires qui vous serais utiles .

Amicalement BR44
 

Pièces jointes

Re : Eviter le doublon d'une copie

Salut Br44,

A part la valeur de la première ligne qui change,
je ne vois pas ton problème de doublon 😕

Et je ne dois pas être le seul, au vu du nombre de réponse 😀

A+
 
Re : Eviter le doublon d'une copie

bonjour BrunoM45, le forum,

Merci pour ta réponse . le problème est que j'ai deux factures à la suite et moi je voudrais remplacer la deuxième par la première(voire la deuxième feuille)

Si tu regardes la 1ère feuille tu verras que le prix unitaire est différant entre la première facture et celle qui placée à la suite .

Dans la première partie du programme il y a deux feuilles qui se copies en même temps ,or avec la partie que je veux rajouter cela en fais trois .

Je voudrais pouvoir dans certain cas que se soit le programme à insérer qui fonctionne au lieu du principal . Si cela est possible .

En attendant je te remercie pour d'avoir pris du temps pour lire mon poste. Je te dis à plus sur se fil .Amicalement BR44
 
Re : Eviter le doublon d'une copie

Bonjour br44,
salut Bruno 🙂,

j'ai deux factures à la suite et moi je voudrais remplacer la deuxième par la première(voire la deuxième feuille)
Ok, mais le soucis c'est que les valeurs "1ere journée",et la refclient, entre les 2 feuille sont différentes 😕.

Dans la première partie du programme il y a deux feuilles qui se copies en même temps ,or avec la partie que je veux rajouter cela en fais trois .
Il y a rien de tel dans ton exemple.
 
Re : Eviter le doublon d'une copie

Re: Bonsoir Skoobi,BrunoM45,le forum


Merci à toi, Skoobi pour ta réponse , je vais essayer de m'expliquer :

Question1:" Ok, mais le soucis c'est que les valeurs "1ere journée",et la réfclient, entre les 2 feuille sont différentes ."

Réponse : désolé j'ai pris deux feuilles différentes comme exemple au lieu de copier deux fois la même . Mais le résultat est la présentation finale .

Question 2:"Il y a rien de tel dans ton exemple. "

Réponse : le programme de base copie la première partie soit le tableau + une facture .

La deuxième partie du programme copie la deuxième facture modifiée.

Je voudrais insérer une condition pour la réfclient C109 dans le programme de base pour qu'il applique directement le programme à insérer .

Voir la feuille "Résultat désirer"


Le code du programme se trouve dans vba feuille1, mais le code ne correspond pas aux feuilles du classeur il faut les considérées comme un schéma .

Je mets si dessous un nouveau fichier modifier en espérant qu'il soit plus claire .

Vous remerciant par avances du coup de main je vous à plus sur se fil .
Amicalement BR44
 

Pièces jointes

Re : Eviter le doublon d'une copie

Bonjour Skoobi,BrunoM45,le forum

Je me permet de revenir vers vous en m'excusant de ne pas avoir été plus claire dans ma demande .

Vous trouverez ci-joint un nouveau dossier avec tous les éléments correspondant au programme (voir dans le Vba puis ThisworkBook)

le dossier est constitué de cinq feuilles qui se décomposent de la façon suivante :

la première feuille nommée "Détail" en Bleu

la deuxième feuille nommée "Facture" en jaune au tarif habituel

La troisième feuille nommée "Facture Unique " en vert au tarif modifié (écrit en rouge)

la quatrième feuille nommée "résultat actuel"

la cinquième feuille nommée "Résultat désirer"

le programme fait le regroupement de la feuille "détail" et de la feuille "Facture " en mode normal d'utilisation ( voir "Résultat actuel" soit bleu+jaune ) .

Quand j'ai rajouter la nouvelle partie dans le programme ,à partir de :
If range ("G3").value ="C109" Then

le résultat que j'ai obtenu est le suivant :"détail"+"Facture"+"Facture unique" soit (voir feuille 4 : Bleu +jaune +vert)

Le résultat que je voudrais obtenir est le suivant : "Détail" + "Facture unique" soit (voir feuille 5 : Bleu+vert) mais uniquement pour le code "C109" .

Il faudrait donc inclure une condition dans le programme pour qu'il applique la procédure juste pour le code "C109" (voir dernière partie du programme).

Si quelqu'un peut m'indiquer comment créer ou m'expliquer où je dois insérer la partie du programme concerné dans ma procédure se serait parfait.

Espérant avoir été plus claire dans ma demande et vous remerciant par avance de votre aide je vous dis à plus sur se fil . Amicalement BR44

Le dossier joint :
 

Pièces jointes

Re : Eviter le doublon d'une copie

Bonjour br44,

si j'ai bien compris, ligne en bleu mise à jour:

Code:
Private Sub CommandButton10_Click() 'Boutton"Tournée 3"
 'Déclare la varible Ligne
 Dim Ligne As Integer
 
 'Dèfinit la variable Ligne
 Ligne = Sheets("T3").Range("A65536").End(xlUp).Row


'J'enregistre les fiches pour la "T3"
If Range("G3").Value >= "C089" And Range("G3").Value <= "C111" Then
    If Range("G3").Value = "C089" Then
         L = 1
    Else: L = 5
    End If
'Si une modification n'est pas en cours
    If TrouveRefC Is Nothing Then
       If Ligne > 1 Then Ligne = Ligne + 2
         Sheets("Détail").Range("1:29").Copy Sheets("T3").Range("A" & Ligne)
         Sheets("Facture").Range("1:50").Copy
    With Sheets("T3").Range("A65536").End(xlUp).Offset(1, 0)
          .PasteSpecial Paste:=xlValues
          .PasteSpecial Paste:=xlFormats
    End With
[COLOR=Blue][B]    ElseIf Range("G3").Value <> "C109" Then[/B][/COLOR]
'si une modification est en cours
        Sheets("Détail").Range("A1:G29").Copy TrouveRefC.Offset(-2, -6)
        Sheets("Facture").Range("C26:G38").Copy TrouveRefC.Offset(52, -4)
        Sheets("Facture").Range("G39:G44").Copy TrouveRefC.Offset(65, 0)
    End If
 End If
 
 'J'envoie les fiches vers "T3" pour le Client selectionné
 If Range("G3").Value = "C109" Then
 
    Sheets("Détail").Range("1:29").Copy Sheets("T3").Range("A" & Ligne)
    Sheets("FactureUnique").Range("1:50").Copy
    With Sheets("T3").Range("A65536").End(xlUp).Offset(1, 0)
          .PasteSpecial Paste:=xlValues
          .PasteSpecial Paste:=xlFormats
    End With
 End If

PS: désolé pour la réponse tardive, par manque de temps.
 
Dernière édition:
Re : Eviter le doublon d'une copie

Re bonjour à tous ,

Bon Skoobi je viens de faire plusieurs essai et sa ne fonctionne pas j'ai toujours deux facture à suivre .

Je vais essayer en mettant la condition pour le code"C109" en premier . Si ça marche je te tient au courant .

Si tu as une idée je suis preneur .


Te remerciant par avances du coup de main je te dis à plus . Amicalement BR44
 
Re : Eviter le doublon d'une copie

Bonjour à tous le forum, Skoobi


j'ai une bonne nouvelle à vous annoncer . j'ai trouvé une solution qui fonctionne !!!!🙂😛😛😛😛😛😛😛

Je mets ci-dessous le code afin qu'ils puisse servir à d'autre membre du forum .

je vous remercie pour le coup de main et vous dis à plus sue le forum .

Code:
Private Sub CommandButton10_Click() 'Boutton"Tournée 3"
 'Déclare la variable ClientC
  Dim ClientC As String
 'Déclare la varible Ligne
  Dim Ligne As Integer
 'Declare la Variable C
  Dim D As String
  
  
 'Dèfinit la variable Ligne
 Ligne = Sheets("T3").Range("A65536").End(xlUp).Row
 'Définit la variable Client C
 ClientC = "C109"
 'Dèfinit la varible C
 D = Sheets("Détail").Range("G3").Value
 
 
'J'enregistre les fiches pour la "T3"
'Pour le client C
  Select Case D
   Case ClientC
   If Ligne > 1 Then Ligne = Ligne + 2
      Sheets("Détail").Range("1:29").Copy Sheets("T3").Range("A" & Ligne)
      Sheets("FactureUnique").Range("1:50").Copy
      With Sheets("T3").Range("A65536").End(xlUp).Offset(1, 0)
          .PasteSpecial Paste:=xlValues
          .PasteSpecial Paste:=xlFormats
      End With
   Case Else 'pour autre client
If Range("G3").Value >= "C089" And Range("G3").Value <= "C108" And Range("G3").Value >= "110" And Range("G3").Value <= "C111" Then
    If Range("G3").Value = "C089" Then
         L = 1
    Else: L = 5
    End If
'Si une modification n'est pas en cours
    If TrouveRefC Is Nothing Then
       If Ligne > 1 Then Ligne = Ligne + 2
         Sheets("Détail").Range("1:29").Copy Sheets("T3").Range("A" & Ligne)
         Sheets("Facture").Range("1:50").Copy
    With Sheets("T3").Range("A65536").End(xlUp).Offset(1, 0)
          .PasteSpecial Paste:=xlValues
          .PasteSpecial Paste:=xlFormats
    End With
    End If
 End If
 End Select

A bientôt Br44
 
- 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

M
Réponses
6
Affichages
2 K
B
Réponses
5
Affichages
5 K
Brain Box
B
Retour