Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End Sub
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End Sub
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
il n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
il n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+
Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End Sub
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
il n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
pourquoi insérer dans A si c'est pour transférer sur B ?
En fait, A.xls est un fichier individuel avec sa base de données et B.xls
une base de données commune à 200 personnes qui contiendra plusieurs
centaines de milliers d'entrées afin de faire des statistiques. C'est la
raison pour laquelle je veux que les entrées de chaque fichiers A.xls se
copies en cherchant dans quel onglet se copier.
J'ai recopier comme suit mais ça ne fontionne pas :
Sub copier()
With Workbooks("B.xls").Sheets(Format(Cells(2, 1).Value, "mmmm"))
Workbooks("A.xls").Sheets("sheet1").Range(Cells(2, 1), Cells(2, 1).Offset(0,
5)).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End Sub
C'est vraiment terrible de ne pas y arriver, j'en suis désolé.
Denisil n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
pourquoi insérer dans A si c'est pour transférer sur B ?
En fait, A.xls est un fichier individuel avec sa base de données et B.xls
une base de données commune à 200 personnes qui contiendra plusieurs
centaines de milliers d'entrées afin de faire des statistiques. C'est la
raison pour laquelle je veux que les entrées de chaque fichiers A.xls se
copies en cherchant dans quel onglet se copier.
J'ai recopier comme suit mais ça ne fontionne pas :
Sub copier()
With Workbooks("B.xls").Sheets(Format(Cells(2, 1).Value, "mmmm"))
Workbooks("A.xls").Sheets("sheet1").Range(Cells(2, 1), Cells(2, 1).Offset(0,
5)).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End Sub
C'est vraiment terrible de ne pas y arriver, j'en suis désolé.
Denis
il n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+
Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denis
bonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End Sub
Bonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis
pourquoi insérer dans A si c'est pour transférer sur B ?
En fait, A.xls est un fichier individuel avec sa base de données et B.xls
une base de données commune à 200 personnes qui contiendra plusieurs
centaines de milliers d'entrées afin de faire des statistiques. C'est la
raison pour laquelle je veux que les entrées de chaque fichiers A.xls se
copies en cherchant dans quel onglet se copier.
J'ai recopier comme suit mais ça ne fontionne pas :
Sub copier()
With Workbooks("B.xls").Sheets(Format(Cells(2, 1).Value, "mmmm"))
Workbooks("A.xls").Sheets("sheet1").Range(Cells(2, 1), Cells(2, 1).Offset(0,
5)).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End Sub
C'est vraiment terrible de ne pas y arriver, j'en suis désolé.
Denisil n'y a pas grande difficulté à adapter cette procédure.
Au lieu de travailler sur Private Sub Worksheet_Change, il suffit
d'ajouter dans ta macro qui insère dans a.xls ( d'ailleurs pourquoi
inserer dans A si c'est pour transférer dans B ?) les lignes
With Workbooks("B.xls").Sheets(Format(cells(2,1).value, "mmmm"))
workbooks("A.xls").sheets("toto").Range(cells(2,1),
cells(2,1).Offset(0, 5)).Copy
.Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
Mettre un on error "quelque chose" ne ferait pas de mal si jamais
Sheets(Format(cells(2,1).value, "mmmm")) ne renvoyait pas un nom de
feuille connue dans B
A+Bonjour,
En fait il s'agirrait de la fin de l'instruction d'une macro du fichier
a.xls insérant la ligne a2:f2 dans b.xls en a2. Suivant la date se trouvant
en a2 dans a.xls, la macro doit copier cette ligne a2:f2 dans l'onglet
correspondant au mois puisqu'il y aurait 12 onglets de janvier à décembre en
b.xls
J'ai essayé avec l'instruction donnée ci-dessous mais ça ne fonctionne pas.
Merci
Denisbonjour,
en supposant que la 1ere donnée dans une feuille de B s'inscrive en
ligne 2 et que les données à transférer doivent uniquement être
conditionnées au chnagement d'une valeur en cellule A2 de la feuille
active de A.
A mettre dans le module de la feuille active de A
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo errhandler
If Not Intersect(Target, Range("A2")) Is Nothing Then
With Workbooks("B.xls").Sheets(Format(Target, "mmmm"))
Range(Target, Target.Offset(0, 5)).Copy
..Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Exit Sub
errhandler:
If Err.Number <> 0 Then MsgBox "la date entrée ne correspond pas à une
feuille du fichier B"
A+
End SubBonjour à tous,
Sans vouloir travailler avec Acess j'aimerais laisser Excel gérer les
données d'un fichier.
Imaginons que sur dans fichier A.xls j'ai toutes les entrées du fichier.
J'aimerai que par exemple la cellule A2 du fichier A.xls contenant la date
d'une entrée, les données de la ligne A2 à F2 se copies dans un fichier B.xls
mais tienne compte de la date afin de pouvoir dépasser les 65500 entrées par
feuille.
Dans ce classeur B.xls, il y aurait un onglet par mois (janvier, février,
etc...), que la les données A2 à F2 de A.xls se copies dans l'onglet
correspondant au mois de la date en A1. Cela multiplirait les entrées par 12
et règlerait mon problème.
Merci d'avance.
Denis