bjour,
j'avais fait ca dans le pass=E9, mais je suis bloqu=E9 en ligne 31.
Y'a moyen de faire plus simple sans blocage ? Mci
'Button macro "T_RECAPAccess"
'-------------------------------------------------------
'Copie et transfert de la ligne de donn=E9es du worksheet "RECAPACCESS"
'dans file "01_TESTACCESS1.xls"
Range("A2:IC2").Select
Selection.Copy
'-----------
Windows("01_TESTACCESS1.xls").Activate
If Range("A2") =3D Empty Then
Range("A2").Select
.=2E.
ElseIf Range("A31") =3D Empty Then
Range("A31").Select
Else
Range("A2").Select
End If
Selection.PasteSpecial Paste:=3DxlValues, Operation:=3DxlNone,
SkipBlanks:=3D _
False, Transpose:=3DFalse
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Oliv'
bjour, j'avais fait ca dans le passé, mais je suis bloqué en ligne 31. Y'a moyen de faire plus simple sans blocage ? Mci
'Button macro "T_RECAPAccess" '------------------------------------------------------- 'Copie et transfert de la ligne de données du worksheet "RECAPACCESS" 'dans file "01_TESTACCESS1.xls"
Range("A2:IC2").Select Selection.Copy '----------- Windows("01_TESTACCESS1.xls").Activate If Range("A2") = Empty Then Range("A2").Select ... ElseIf Range("A31") = Empty Then Range("A31").Select Else Range("A2").Select End If Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse End Sub
Regarde donc la fonction "select case" dans l'aide
Le empty semble mal utilisé essaye avec range("a2").value=""
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjour,
j'avais fait ca dans le passé, mais je suis bloqué en ligne 31.
Y'a moyen de faire plus simple sans blocage ? Mci
'Button macro "T_RECAPAccess"
'-------------------------------------------------------
'Copie et transfert de la ligne de données du worksheet "RECAPACCESS"
'dans file "01_TESTACCESS1.xls"
Range("A2:IC2").Select
Selection.Copy
'-----------
Windows("01_TESTACCESS1.xls").Activate
If Range("A2") = Empty Then
Range("A2").Select
...
ElseIf Range("A31") = Empty Then
Range("A31").Select
Else
Range("A2").Select
End If
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
End Sub
Regarde donc la fonction "select case" dans l'aide
Le empty semble mal utilisé
essaye avec
range("a2").value=""
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bjour, j'avais fait ca dans le passé, mais je suis bloqué en ligne 31. Y'a moyen de faire plus simple sans blocage ? Mci
'Button macro "T_RECAPAccess" '------------------------------------------------------- 'Copie et transfert de la ligne de données du worksheet "RECAPACCESS" 'dans file "01_TESTACCESS1.xls"
Range("A2:IC2").Select Selection.Copy '----------- Windows("01_TESTACCESS1.xls").Activate If Range("A2") = Empty Then Range("A2").Select ... ElseIf Range("A31") = Empty Then Range("A31").Select Else Range("A2").Select End If Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:úlse End Sub
Regarde donc la fonction "select case" dans l'aide
Le empty semble mal utilisé essaye avec range("a2").value=""
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
anonymousA
bonjour,
si je crois bien saisir la logique des elseif, je te propose la chose suivante qui suppose 2 choses. La 1ere, tu connais l'index ou le nom de la feuille destinataire dans le fichier 01_TESTACCESS1.xls ou bien c'est la feuille active, la 2eme c'est que tu exécutes la macro avec la feuille du classeur source active à ce moment là.
Set wshdest = Workbooks("01_TESTACCESS1.xls").Sheets(nomfeuillereception)
With wshdest valbool = (Not IsEmpty(.Range("A2")) And Not IsEmpty(.Range("A31"))) Or IsEmpty(.Range("A2"))
If valbool Then Set celldest = .Range("A2") Else Set celldest = .Range("A31") End If
si je crois bien saisir la logique des elseif, je te propose la chose
suivante qui suppose 2 choses. La 1ere, tu connais l'index ou le nom de
la feuille destinataire dans le fichier 01_TESTACCESS1.xls ou bien
c'est la feuille active, la 2eme c'est que tu exécutes la macro avec
la feuille du classeur source active à ce moment là.
Set wshdest =
Workbooks("01_TESTACCESS1.xls").Sheets(nomfeuillereception)
With wshdest
valbool = (Not IsEmpty(.Range("A2")) And Not IsEmpty(.Range("A31"))) Or
IsEmpty(.Range("A2"))
If valbool Then
Set celldest = .Range("A2")
Else
Set celldest = .Range("A31")
End If
si je crois bien saisir la logique des elseif, je te propose la chose suivante qui suppose 2 choses. La 1ere, tu connais l'index ou le nom de la feuille destinataire dans le fichier 01_TESTACCESS1.xls ou bien c'est la feuille active, la 2eme c'est que tu exécutes la macro avec la feuille du classeur source active à ce moment là.
Set wshdest = Workbooks("01_TESTACCESS1.xls").Sheets(nomfeuillereception)
With wshdest valbool = (Not IsEmpty(.Range("A2")) And Not IsEmpty(.Range("A31"))) Or IsEmpty(.Range("A2"))
If valbool Then Set celldest = .Range("A2") Else Set celldest = .Range("A31") End If
Re-bjr, l'analyse est juste. Une question : Est ce que ceci va me copier la ligne du classuer source en 1ere postion (ligne 1) si elle est vide en 2eme si la ligne 1 est vide et ainsi de suite jusqu'a la ligne 31 ? Merci
Re-bjr, l'analyse est juste.
Une question : Est ce que ceci va me copier la ligne du classuer source
en 1ere postion (ligne 1) si elle est vide
en 2eme si la ligne 1 est vide
et ainsi de suite jusqu'a la ligne 31 ?
Merci
Re-bjr, l'analyse est juste. Une question : Est ce que ceci va me copier la ligne du classuer source en 1ere postion (ligne 1) si elle est vide en 2eme si la ligne 1 est vide et ainsi de suite jusqu'a la ligne 31 ? Merci
mrossier
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
Mci Oliv'
J'ai regarde le select case qui semble la solution ideale,
mais je ne connais pas le code VB, et a mon age (!) c'est pas facile.
Peux-tu me donner un bout de code que je puisse adapter.
Mci
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
mrossier
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
Mci Oliv'
J'ai regarde le select case qui semble la solution ideale,
mais je ne connais pas le code VB, et a mon age (!) c'est pas facile.
Peux-tu me donner un bout de code que je puisse adapter.
Mci
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
Oliv'
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
Faudrais que tu expliques exactement ce que tu veux faire avec des mots si tu ne connais pas bien vba.
Mci Oliv'
J'ai regarde le select case qui semble la solution ideale,
mais je ne connais pas le code VB, et a mon age (!) c'est pas facile.
Peux-tu me donner un bout de code que je puisse adapter.
Mci
Faudrais que tu expliques exactement ce que tu veux faire avec des mots si
tu ne connais pas bien vba.
Mci Oliv' J'ai regarde le select case qui semble la solution ideale, mais je ne connais pas le code VB, et a mon age (!) c'est pas facile. Peux-tu me donner un bout de code que je puisse adapter. Mci
Faudrais que tu expliques exactement ce que tu veux faire avec des mots si tu ne connais pas bien vba.
mrossier
Avec mes mots.Je suis dans le file SOURCE .xls et worksheet RECAPACCESS J'ai une ligne de données dans les colonnes A2 à IC2 ( texte et numerique) Je clique un bouton et ces données sont transferees dans le file 01_TESTACCESS1.xls.xls / Worksheet COPIE en A2:IC2 Le file SOURCE.xls est remis a zero et les nouvelles valeur sont calculées le bouton me prend ces nouvelles données et les transfere en ligne A3:IC3 (puisque A2:IC2 deja remplie) et ainsi de suite jusqu'en A31:IC31. Ce que je voudrais c'est un procedure plus simple que celle mentionnée avec les ElseIf et qui ne s'arrete pas en ligne 31 mais puisse continuer. Ensuite ce nouveau fichier est transfere dans ACCESS. Mci de l'aide
Avec mes mots.Je suis dans le file SOURCE .xls et worksheet RECAPACCESS
J'ai une ligne de données dans les colonnes A2 à IC2 ( texte et
numerique)
Je clique un bouton et ces données sont transferees dans le file
01_TESTACCESS1.xls.xls / Worksheet COPIE en A2:IC2
Le file SOURCE.xls est remis a zero et les nouvelles valeur sont
calculées
le bouton me prend ces nouvelles données et les transfere en ligne
A3:IC3 (puisque A2:IC2 deja remplie)
et ainsi de suite jusqu'en A31:IC31.
Ce que je voudrais c'est un procedure plus simple que celle mentionnée
avec les ElseIf et qui ne s'arrete pas en ligne 31 mais puisse
continuer.
Ensuite ce nouveau fichier est transfere dans ACCESS.
Mci de l'aide
Avec mes mots.Je suis dans le file SOURCE .xls et worksheet RECAPACCESS J'ai une ligne de données dans les colonnes A2 à IC2 ( texte et numerique) Je clique un bouton et ces données sont transferees dans le file 01_TESTACCESS1.xls.xls / Worksheet COPIE en A2:IC2 Le file SOURCE.xls est remis a zero et les nouvelles valeur sont calculées le bouton me prend ces nouvelles données et les transfere en ligne A3:IC3 (puisque A2:IC2 deja remplie) et ainsi de suite jusqu'en A31:IC31. Ce que je voudrais c'est un procedure plus simple que celle mentionnée avec les ElseIf et qui ne s'arrete pas en ligne 31 mais puisse continuer. Ensuite ce nouveau fichier est transfere dans ACCESS. Mci de l'aide
anonymousA
rien de tout ca. Selon la logique qui était suivie, ca copiera la plage A2:IC2 du classeur source à partir de la cellule A2 du classeur destinataire si cette cellule A2 est vide OU si la cellule A2 ET la cellule A31 sont non vides. Dans tous les autres cas, ca copiera la plage A2:IC2 du classeur source à partir de la cellule A31 du classeur destinataire . En aucun cas, toujours selon la logique préalable ca ne copiera quelque chose ailleurs sur le classeur destinataire.
Si ce n'était pas ce que tu voulais faire, c'est que la logique de ton programme initial n'est pas correcte.
A+
rien de tout ca. Selon la logique qui était suivie, ca copiera la
plage A2:IC2 du classeur source à partir de la cellule A2 du classeur
destinataire si cette cellule A2 est vide OU si la cellule A2 ET la
cellule A31 sont non vides. Dans tous les autres cas, ca copiera la
plage A2:IC2 du classeur source à partir de la cellule A31 du classeur
destinataire .
En aucun cas, toujours selon la logique préalable ca ne copiera
quelque chose ailleurs sur le classeur destinataire.
Si ce n'était pas ce que tu voulais faire, c'est que la logique de ton
programme initial n'est pas correcte.
rien de tout ca. Selon la logique qui était suivie, ca copiera la plage A2:IC2 du classeur source à partir de la cellule A2 du classeur destinataire si cette cellule A2 est vide OU si la cellule A2 ET la cellule A31 sont non vides. Dans tous les autres cas, ca copiera la plage A2:IC2 du classeur source à partir de la cellule A31 du classeur destinataire . En aucun cas, toujours selon la logique préalable ca ne copiera quelque chose ailleurs sur le classeur destinataire.
Si ce n'était pas ce que tu voulais faire, c'est que la logique de ton programme initial n'est pas correcte.
A+
anonymousA
dans ma réponse à ton 2eme post, je n'avais pas lu ce post là. En conséquence, du coup je comprends mieux ce que tu veux faire. Attention, la messagerie coupera sans doute l'instruction commencant par workbooks alors que celle-ci est sur une seule ligne
Les instructions précédents copieront ce qu'il ya en plage A2:IC2 du classeur source sur les plages du classeur destinataire allant de A2 jusqu'à Ax puisque on écrit à partir de la 1ere cellule vide de la feuille du classeur destinataire. Cette procédure peut copier jusqu'à la 65536 eme ligne mais n'a pas de gestionnaire d'erreur pour gérer au delà.
A+
dans ma réponse à ton 2eme post, je n'avais pas lu ce post là. En
conséquence, du coup je comprends mieux ce que tu veux faire.
Attention, la messagerie coupera sans doute l'instruction commencant
par workbooks alors que celle-ci est sur une seule ligne
Les instructions précédents copieront ce qu'il ya en plage A2:IC2 du
classeur source sur les plages du classeur destinataire allant de A2
jusqu'à Ax puisque on écrit à partir de la 1ere cellule vide de la
feuille du classeur destinataire. Cette procédure peut copier jusqu'à
la 65536 eme ligne mais n'a pas de gestionnaire d'erreur pour gérer au
delà.
dans ma réponse à ton 2eme post, je n'avais pas lu ce post là. En conséquence, du coup je comprends mieux ce que tu veux faire. Attention, la messagerie coupera sans doute l'instruction commencant par workbooks alors que celle-ci est sur une seule ligne
Les instructions précédents copieront ce qu'il ya en plage A2:IC2 du classeur source sur les plages du classeur destinataire allant de A2 jusqu'à Ax puisque on écrit à partir de la 1ere cellule vide de la feuille du classeur destinataire. Cette procédure peut copier jusqu'à la 65536 eme ligne mais n'a pas de gestionnaire d'erreur pour gérer au delà.