Ajout ligne si nouvelle entrée

Bonjour tout le monde te merci d'avance même si vous n'avez pas la réponse...

J'utilise un fichier (joint ci dessous). Dans ce fichier j'aimerais si dans l'onglet "edi du jour" une nouvelle ligne été insérée => créer une nouvelle ligne dans l'onglet "Base de donnée" en recopiant le Numéro de la colonne "A"="référence dossier".

Encore merci d'avance.

Bien amicalement

Bonjour

Clique droite sur l'onglet "edi du jour" et choisir l'option "visualiser le code"

Ensuite coller le code ci-dessous

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    With Sheets("Base de données")
        .Range("A" & .Range("A" & .Rows.Count).End(xlUp).Row + 1) = Target.Value
    End With
End If
End Sub

N'oublie pas d'enregistrer ton fichier au format XLSM pour la prise en charge des macros

Si ok, lors de ta réponse clique sur le v vert à coté du boutonEDITER pour cloturer le fil

Crdlt

Bonjour et merci DAN

Oui j'aurais aimé cliquer sur le v vert mais je sais pas comment lancer la macro...

Je sais lancer les macro a partir d'un bouton mais autrement...

Si il y a une possibilité automatique je prend

Cordialement

Re

Il faut uniquement compléter la colonne A dans la feuille edit du jour, la macro s'exécute automatiquement et la base de données se complétera automatiquement

Crdlt

Merci DAN et effectivement cela marche si tu complètes la colonne "A" mais mois je viens mettre a jour l'onglet "edi du jour" en faisant un copier/coller avec un nouveau fichier (au même format) mais avec des lignes en plus et la cela ne marche plus. Dis moi si tu as besoins de plus d'explications...

En essayant de faire cours : J'ai un fichier excel qui s'appel "edi". Dans ce fichier don tu as une copie dans l'onglet "edi du four" il me manque des info d'ou la création d'une base de données pour stocker les colonnes "manquantes qui sont dans l'onglet "Base de données" et me donne un fichier complet "edi+colonne manquante" dans l'onglet "edi complet".

En espérant avoir été claire et que tu puisses toujours m'aider mais d'avance merci...

Cordialement

re

...mais mois je viens mettre a jour l'onglet "edi du jour" en faisant un copier/coller avec un nouveau fichier (au même format) mais avec des lignes en plus et la cela ne marche plus. Dis moi si tu as besoins de plus d'explications...

Il faut que je sache comment tu fonctionnes pour compléter la feuille edit jour

Le code que je t'ai donné suppose que tu complètes la colonne A dans la feuille edit jour mais si tu fais un copier coller venant d'un autre fichier il faut procéder autrement car là le code ne fonctionnera pas

Dis moi ce que tu fais pour ajouter des entrées dans la feuille dit jour et surtout si tu procèdes toujours de la même manière.

Crdlt

Encore merci DAN

L'ongel "edi du jour" est un copier/coller d'un autre qui s'appel fichier "edi". Le fichier edi s'incrémente tous les jour de nouvelles lignes.

Cordialement

Re

Essaie en remplaçant le code donné par celui ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.CutCopyMode = False
If Not Intersect(Target, Range("A" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
Dim i As Integer
For i = Target.Row To Target.Row + Selection.Count
    With Sheets("Base de données")
        .Range("A" & .Range("A" & .Rows.Count).End(xlUp).Row + 1) = Range("A" & i)
    End With
Next i
End If
End Sub

Cordialement

Aie j ai un message d'erreur.. et la je comprend rien....

capturer

re

Il faut que tu m'expliques en détail comment tu fais le copier / coller.

J'utilise un bouton qui lance cette macro

' import Epsilon 2 edi ( bouton 1)

Application.DisplayAlerts = False

Workbooks.Open Filename:="L:\EPSILON-TEM\integration epsi vers OPX\EDI\EPSILON2_vers_fournisseur.xls"

Cells.Select

Range("A:A,P:P,Q:Q,AC:AC,AD:AD,AO:AO,AT:AT,DO:DO").Select

Selection.Copy

Windows("Intégration Epsi2TEM-OPX Tr1.xls").Activate

Sheets("EDI").Select

Cells.Select

ActiveSheet.Paste

Windows("EPSILON2_vers_fournisseur.xls").Activate

ActiveWindow.Close

Sheets("Présentation").Select

Application.DisplayAlerts = True

Cordialement

Re

Sur base de ton code avant, essaie comme ceci :

Private Sub Worksheet_Change(ByVal Target As Range)
Application.CutCopyMode = False
If Not Intersect(Target, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)) Is Nothing Then
Dim i As Long
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
    With Sheets("Base de données")
        .Range("A" & .Range("A" & .Rows.Count).End(xlUp).Row + 1) = Range("A" & i)
    End With
Next i
End If
End Sub

A te relire

Edit : ta macro ci-avant pourrait être celle-ci :

Application.DisplayAlerts = False
 Workbooks.Open Filename:="L:\EPSILON-TEM\integration epsi vers OPX\EDI\EPSILON2_vers_fournisseur.xls"
 Range("A:A,P:P,Q:Q,AC:AC,AD:AD,AO:AO,AT:AT,DO:DO").Copy Workbooks("Intégration Epsi2TEM-OPX Tr1.xls").Sheets("EDI").Cells
 Workbooks("EPSILON2_vers_fournisseur.xls").Close
 Sheets("Présentation").Select
 Application.DisplayAlerts = True
Rechercher des sujets similaires à "ajout ligne nouvelle entree"