copies de tableaux par chekbox

Le
fredbzr
Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème A11:D20
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème A11:D20

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème A11:D20
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème A11:D20

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux des 4
feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4260191
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait parvenir
?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas échéant les
données sensibles (seulement les 4 feuilles de données et la feuille avec le
textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux des 4
feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred



fredbzr
Le #4260161
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir ainsi
que sur celui que j'ai créé spécialement pour arriver à faire ce travail
avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas échéant
les données sensibles (seulement les 4 feuilles de données et la feuille
avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux des
4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred







Daniel
Le #4260151
Je n'ai pas réussi à trouver l'erreur. Pour quelle valeur est-ce que ça
plante ?
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir ainsi
que sur celui que j'ai créé spécialement pour arriver à faire ce travail
avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas échéant
les données sensibles (seulement les 4 feuilles de données et la feuille
avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux des
4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred











Daniel
Le #4259751
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir ainsi
que sur celui que j'ai créé spécialement pour arriver à faire ce travail
avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas échéant
les données sensibles (seulement les 4 feuilles de données et la feuille
avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux des
4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred











fredbzr
Le #4259591
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire ce
travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas échéant
les données sensibles (seulement les 4 feuilles de données et la feuille
avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux
des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1)
*
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred















Daniel
Le #4259571
Bonsoir.
Dans les propriétés du bouton, essaie en mettant ma propriété
"TakeFocusOnClick" à "false".
Daniel
"fredbzr" 46097b64$0$25919$
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire ce
travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas
échéant les données sensibles (seulement les 4 feuilles de données et
la feuille avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux
des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille - 1)
*
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred



















fredbzr
Le #4318731
Bonjour Daniel
je viens de faire la manipe indiquée et j'ai toujours un plantage

"Daniel"
Bonsoir.
Dans les propriétés du bouton, essaie en mettant ma propriété
"TakeFocusOnClick" à "false".
Daniel
"fredbzr" 46097b64$0$25919$
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire ce
travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas
échéant les données sensibles (seulement les 4 feuilles de données et
la feuille avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux
des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille -
1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred























Daniel
Le #4318601
Bonjour.
Remplace le code par celui-ci :

Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(Sheets("récap").TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - _
(NoFeuille - 1) * 13) * 10, 0).Copy Sheets("récap").Range("A1")

Daniel

Si le problème persiste, mets le même code dans une macro dans un module et
teste le en exécutant cette macro.
"fredbzr" 460a156e$0$27387$
Bonjour Daniel
je viens de faire la manipe indiquée et j'ai toujours un plantage

"Daniel"
Bonsoir.
Dans les propriétés du bouton, essaie en mettant ma propriété
"TakeFocusOnClick" à "false".
Daniel
"fredbzr" 46097b64$0$25919$
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire ce
travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas
échéant les données sensibles (seulement les 4 feuilles de données et
la feuille avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des tableaux
des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille -
1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred



























fredbzr
Le #4318471
je viens de tester ton nouveau code
il fonctionne.
En fait je viens de m'apercevoir que l'erreur apparaît (dans les deux cas)
parcequ'une fois que j'ai mis le n° du tableau voulu dans le checkbox, j'
appuyai sur le bouton.
en fait , il faut que je clic sur une autre cellule puis sur le bouton et çà
fonctionne dans les 2 cas.
je vais régler çà , j'espère y arriver, en mettant le checkbox dans un
userfom avec un bouton valider.
j'ai également essayé avec un tableau vide(car j'aurai des cellules vides
dans les miens), pas de problème, j'avais peur avec la fonction array....
un grand merci à toi pour ta patience
A bientôt sur le forum..........

"Daniel"
Bonjour.
Remplace le code par celui-ci :

Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(Sheets("récap").TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - _
(NoFeuille - 1) * 13) * 10, 0).Copy Sheets("récap").Range("A1")

Daniel

Si le problème persiste, mets le même code dans une macro dans un module
et teste le en exécutant cette macro.
"fredbzr" 460a156e$0$27387$
Bonjour Daniel
je viens de faire la manipe indiquée et j'ai toujours un plantage

"Daniel"
Bonsoir.
Dans les propriétés du bouton, essaie en mettant ma propriété
"TakeFocusOnClick" à "false".
Daniel
"fredbzr" 46097b64$0$25919$
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire
ce travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas
échéant les données sensibles (seulement les 4 feuilles de données
et la feuille avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des
tableaux des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004, la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - (NoFeuille -
1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred































Daniel
Le #4318401
Tu peux peut-être utiliser une scrollbar ou un spinbutton :
http://cjoint.com/?dCmfttrhZ3
Daniel
"fredbzr" 460a36e3$0$27371$
je viens de tester ton nouveau code
il fonctionne.
En fait je viens de m'apercevoir que l'erreur apparaît (dans les deux cas)
parcequ'une fois que j'ai mis le n° du tableau voulu dans le checkbox, j'
appuyai sur le bouton.
en fait , il faut que je clic sur une autre cellule puis sur le bouton et
çà fonctionne dans les 2 cas.
je vais régler çà , j'espère y arriver, en mettant le checkbox dans un
userfom avec un bouton valider.
j'ai également essayé avec un tableau vide(car j'aurai des cellules vides
dans les miens), pas de problème, j'avais peur avec la fonction array....
un grand merci à toi pour ta patience
A bientôt sur le forum..........

"Daniel"
Bonjour.
Remplace le code par celui-ci :

Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(Sheets("récap").TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 - _
(NoFeuille - 1) * 13) * 10, 0).Copy Sheets("récap").Range("A1")

Daniel

Si le problème persiste, mets le même code dans une macro dans un module
et teste le en exécutant cette macro.
"fredbzr" 460a156e$0$27387$
Bonjour Daniel
je viens de faire la manipe indiquée et j'ai toujours un plantage

"Daniel"
Bonsoir.
Dans les propriétés du bouton, essaie en mettant ma propriété
"TakeFocusOnClick" à "false".
Daniel
"fredbzr" 46097b64$0$25919$
Bonsoir Daniel
je rentre juste du boulot
pour moi çà plante dans tous les cas
peut-être que çà vient de ma version excel: XP 97 pack sp2

"Daniel"
Je viens de tester les 52 possibilités sans problème...
Daniel
"fredbzr" 4608fdd1$0$27393$
Bonjour Daniel

le problème se produit sur le classeur que vous m'avez fait parvenir
ainsi que sur celui que j'ai créé spécialement pour arriver à faire
ce travail avant de l'insérer dans le dossier principal
j'ai mis la simplification sur cjoint http://cjoint.com/?dBnpH8GtQh

Là il n'y a que les 4 feuilles et la feuille comprenant le textbox

merci de votre aide

"Daniel" 4608f9f9$0$31204$
Bonjour.
Est-ce que le problème se produit dans le classeur que je t'ai fait
parvenir ?
Sinon, mets ton classeur sur www.cjoint.com en modifiant, le cas
échéant les données sensibles (seulement les 4 feuilles de données
et la feuille avec le textbox).
Cordialement.
Daniel
"fredbzr" 4608e3cc$0$25932$

Bonjour à tous
j'ai besoin de votre savoir pour effectuer un travail
je remets le contexte
j'ai 17 feuilles dans mon dossier
dans 4 feuilles j'ai 13 tableaux (donc 4*13R semaines)
feuil1 : tableaux de 1 à 13, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil11:tableaux de 14 à 26, le 1er tableau A1:D10, le 2ème
A11:D20......

feuil111 : tableaux de 27 à 39, le 1er tableau A1:D10, le 2ème
A11:D20......
feuil1111:tableaux de 40 à 52, le 1er tableau A1:D10, le 2ème
A11:D20......

Dans une autre feuille j'ai un même tableau A1:D10 dans lequel je
souhaiterai par l'intermédiaire d'un chekbox, copier un des
tableaux des 4 feuilles
par ex: si je mets 2 =copie du tableau 2 A11:D20 de la 1ère
feuille

Daniel m'a fait un code,mais il y a une erreur d'exécution 1004,
la
méthode copy de la classe range a échoué
merci à Daniel pour ce code
Private Sub CommandButton1_Click()
Dim Ctr As Integer, NoFeuille As Integer
Ctr = CInt(TextBox1.Value)
NoFeuille = Application.Match(Ctr, Array(1, 14, 27, 40), 1)
Var = (Ctr - 1 - (NoFeuille - 1) * 13) * 10

l'erreur se produit à l'exécution de la ligne ci dessous
Sheets(NoFeuille).Range("A1:D10").Offset((Ctr - 1 -
(NoFeuille - 1) *
13) * 10, 0).Copy _
Range("A1")

End Sub

Merci pour votre aide et vos solutions

Fred



































Publicité
Poster une réponse
Anonyme