Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowindex ?)

papapaul

XLDnaute Impliqué
Bonjour Forum, compliqué pour moi :(

Je fais des modifications dans des lignes (copiées à partir de Feuil1) sur une FeuilX.
Le but du jeu, c'est que une fois les corrections apportées FeuilX, ces lignes retrouvent leur emplacement d'origine dans Feuil1.
J'ai comme idée le bricolage suivant. Indiquer en colonne J de chaque ligne à copier
le n° de ces lignes (=RowIndex ??), les autres cellules sont occupées.
Ensuite, après les corrections, un dblclick sur la cellule ou est le n° de ligne, la ligne modifiée écraserai la ligne d'origine de la Feuil1. (By Val Target etc…)

Merci d'avance au Forum
 

papapaul

XLDnaute Impliqué
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Bonjour Hasco, Skoobi, Forum :)

Ben, ma question ..... ??
C'est comment réalisé par macro l'idée de bricolage que
j'ai expliqué ci-avant. Si tant est que cela soit possible.
Moi je patauge sévère :p

Par rapport à ça (entre autres) j'ai mis un exemple de fichier dans
un précédent post du 08/08 à 12 h 47 mais j'ai pas eu de réponse.
(Sauf une de notre ami Skoobi mais c'est pas tout a fait ça.)
Je dois être trop compliqué (et trop bavard.:rolleyes:)

Je le remets ici.

Merci d'avance
 

Pièces jointes

  • Extractions lignes doublons avec datesv2.xls
    69.5 KB · Affichages: 50
  • Extractions lignes doublons avec datesv2.xls
    69.5 KB · Affichages: 44
  • Extractions lignes doublons avec datesv2.xls
    69.5 KB · Affichages: 50
G

Guest

Guest
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Re,

Si cela concerne un autre fil, il faut le faire remonter.
Sinon, donnes nous un exemple de ce que tu as déjà fait pour illustrer ta question, qui est trop imprécise.

Le classeur que tu nous donnes n'a à priori rien à voir avec la question.

A+
 

skoobi

XLDnaute Barbatruc
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Re bonjour papapaul,
salue Ges :), ça fait plaisir de te croiser.

papapaul, pourquoi avoir créer une nouvelle discussion?
"l'originale" ici.
Ce que je voudrais, c'est qu'elles écrasent celles d'origine.
Quand tu veux écraser l'original, dans la feuil1, comment fais-tu puisqu'il y a des doublons?
 

skoobi

XLDnaute Barbatruc
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

J'ai comme idée le bricolage suivant. Indiquer en colonne J de chaque ligne à copier
le n° de ces lignes (=RowIndex ??), les autres cellules sont occupées.
Ensuite, après les corrections, un dblclick sur la cellule ou est le n° de ligne, la ligne modifiée écraserai la ligne d'origine de la Feuil1. (By Val Target etc…)

Merci d'avance au Forum

Pourquoi pas mais alors il faudrait que tu ajoutes ce numéro de ligne en colonne J dans le code du bouton "Traiter".
 

papapaul

XLDnaute Impliqué
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Merci le Forum, :)

J'ai recrée un fil parceque au départ, je parlais de supprimer des
lignes ce qui n'est plus la cas. L'intitulé du fil ne collait plus.

Oui Skoobi, c'est bien dans le code du bouton que je dois mettre
quelquechose qui donne le n° de ligne en colonne J.

Hasco, le fichier que j'ai mis dans ce fil est le bon.

Merci XLD
 
G

Guest

Guest
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Re, Papapaul,
Skoobi:)

J'avais pas vu les explications en feuil3:rolleyes:. Excuses.

J'ai regardée la macro, mais comme elle est d'une écriture trop abstraite pour moi aujourd'hui. Je passe là main.

A+
 

skoobi

XLDnaute Barbatruc
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Re,
Oui Skoobi, c'est bien dans le code du bouton que je dois mettre
quelquechose qui donne le n° de ligne en colonne J.

En bleu ce qu'il faut ajouter:

Code:
Sub Extractionlignesdoublons()


    Dim i&, a&, b&, fin&, fin1&, aa As Variant, bb As Variant, cc As Variant
.....
......

    If y = 1 Then Exit Sub
    For i = 1 To y - 1
        a = bb(7, i) + 1
        Feuil1.Rows(a).Copy Sheets("Plus Récents").Range("A65536").End(xlUp).Offset(1, 0)
[COLOR=Blue][B]       Sheets("Plus Récents").Range("A65536").End(xlUp).Offset(0, 9).Value = a[/B][/COLOR]
       'For Each Row In Feuil1.Rows(a)
       'RowIndex.Copy Sheets("Plus Récents").Range("A65536").End(xlUp).offset(1, 10)
        'Next Row
        
    Next i
    y = 1
    ReDim cc(8, y)
.....
........
        Sheets.Add before:=Sheets(1)
        ActiveSheet.Name = ("Autres")

    If y = 1 Then Exit Sub
    For i = 1 To y - 1
        a = cc(7, i) + 1
        Feuil1.Rows(a).Copy Sheets("Autres").Range("A65536").End(xlUp).Offset(1, 0)
        [COLOR=Blue][B]Sheets("Autres").Range("A65536").End(xlUp).Offset(0, 9).Value = a[/B][/COLOR]
    Next i
      Call Ligneentête
      Sheets("Plus Récents").Select
    
End Sub

Ensuite reprend mon premier code sur l'autre discussion pour pouvoir modifier la ligne dans Feuil1, et reviens nous voir si tu as du mal.
 

papapaul

XLDnaute Impliqué
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Re Skoobi :)

J'ai bien fait comme tu dis. Pour le n° de ligne, c'est nickel.
Le n° de ligne se met bien en colonne J des 2 feuilles créées.

Pour le doubleclick (j'ai mis le code dans Thisworkbook)

Mon idée c'est que si il y a des lignes doublons, il y a très certainement
eu des erreurs lors de la dernière saisie. C'est pout ça que j'isole les
"Plus Récents" et si c'est pas là l'erreur, je vérifie dans les lignes "Autres".

Pour chaque ligne rectifiée, aussitôt fait, avant de passer à la ligne suivante, un simple doubleclick devrait faire en sorte que la ligne d'origine soit "écrasée", c'est pour faire ça que je pensais utiliser les n° de ligne.
Ca me permettrait de gagner énormément de temps.
Je peux le faire manuellement mais en vrai c'est toutes les semaines que j'ai environ 150 lignes à rectifier, fastidieux :mad:

Avec tes codes (Target...), ça recopient bien en Feuil1 mais en s'ajoutant après les lignes déjà présentes, pas en écrasant les originales comme je le souhaiterais.

Trop compliqué pour moi mais je continue à chercher.
En tout cas pleins de merci et bravo

Vive XLD :)
 

skoobi

XLDnaute Barbatruc
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Voici le code pour modifier la ligne dans feuil1, avec les commentaires en espérant que tu comprennes:

Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Lig As Long
'si la feuille active est "Autres" ou "Plus Récents"
If Sh.Name = "Autres" Or Sh.Name = "Plus Récents" Then
'on récupère la ligne indiqué en colonne J
  Lig = Sh.Range("J" & Target.Row).Value
  With Sheets("Feuil1")
  'on copie la ligne modifiée vers la Feuil1
  Sh.Rows(Target.Row).Copy .Rows(Lig)
  'on enlève l'info de la ligne dans Feuil1.
  .Range("J" & Lig).Clear
  End With
  'ce code permet de sortir de la cellule, pour ne pas la modifier puisque ce n'est
  'pas le but recherché.
  Cancel = True
End If
End Sub
 

papapaul

XLDnaute Impliqué
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

:) SKOOBI LE MAGICIEN,

Ca m'a l'air parfait, je joins une V5 ou j'ai rectifié 2,3 petites choses.
Notamment ici : aa(i, 16) = aa(i, 1) & "#" & aa(i, 2) & "#" & aa(i, 4) & "#" & aa(i, 5) & "#" & aa(i, 6) & "#" & aa(i, 7) & "#" & aa(i, 8) & "#" & aa(i, 9)
Dix milles mercis à Paritec pour les codes.

C'est bien i et pas 1 dans aa(i, 2) : y avait une petite erreur.
Comme je vais jusqu'a la colonne I, pour pas prendre de risques, j'ai modifié tous les 6 par 16, tous les 7 par 17 et tous les 8 par 18 dans les variables : aa(i, 16) = ...: aa(i, 17) = ...aa(i, 18) etc...

Maintenant je vais essayé de faire la même chose mais cette fois non pas
par rapport à des doublons de lignes mais des doublons dans une colonne
précise mais qui serait variable selon les fichiers. Je la définirait avec une intputbox.
Et puis aussi, pour la recopie des lignes, que le dblclick soit remplacer par un simple click sur la cellule ou est le n° (colonne J), cette cellule deviendrait ainsi une sorte de bouton OK.
C'est en cours, si j'y arrive pas.............HELP

Merci à tous :)
 

Pièces jointes

  • Extractions lignes doublons avec dates V5.xls
    78 KB · Affichages: 46
  • Extractions lignes doublons avec dates V5.xls
    78 KB · Affichages: 45
  • Extractions lignes doublons avec dates V5.xls
    78 KB · Affichages: 51

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa