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

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

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

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
 
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind

Bonjour Papapaul,

Cela semble être une bonne idée.

Où est la question?

A+
 
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 😛

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.🙄)

Je le remets ici.

Merci d'avance
 

Pièces jointes

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+
 
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?
 
Re : Comment recopier des lignes modifiées vers la feuille d'origine (Target, Rowind


Pourquoi pas mais alors il faudrait que tu ajoutes ce numéro de ligne en colonne J dans le code du bouton "Traiter".
 
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
 
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🙄. 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+
 
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.
 
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 😡

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 🙂
 
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
 
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

- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…