Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
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
Pounet95
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Bonsoir,
En regardant le code, je me fais la réflexion que copier la plage A1:A65536
(si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire
gueuler Excel',
mais je n'en suis même pas sûr .
Aussi, en mettant un On Error Resume Next au début de la procédure
avant le With peut cacher le problème ? A vérifier....
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
947F32EA-A2B0-48CA-9626-209902B60562@microsoft.com...
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Denys
Bonsoir Pounet,
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton de commande, des fois elle fonctionne, des fois pas.... Me rappelle ma vieille bagnole !!!!
Salut
Denys
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Bonsoir Pounet,
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu
regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois
pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton de
commande, des fois elle fonctionne, des fois pas.... Me rappelle ma vieille
bagnole !!!!
Salut
Denys
Bonsoir,
En regardant le code, je me fais la réflexion que copier la plage A1:A65536
(si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire
gueuler Excel',
mais je n'en suis même pas sûr .
Aussi, en mettant un On Error Resume Next au début de la procédure
avant le With peut cacher le problème ? A vérifier....
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
947F32EA-A2B0-48CA-9626-209902B60562@microsoft.com...
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton de commande, des fois elle fonctionne, des fois pas.... Me rappelle ma vieille bagnole !!!!
Salut
Denys
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Pounet95
Bonjour, J'avais précisé <<si feuille vide>>, mais pas grave.;o)) Sinon, est-ce que tu as quand même inséré l'instruction en début de procédure ? Autre chose, la feuille de départ a-t-elle toujours un index supérieur ou égal à 2 ? Car si elle est la première (index =1) et que tu sélectionne la feuille index-1 il doit y avoir problème et comme l'instruction On error n'est pas présente, ce ne doit pas fonctionner. A part cela, je n'ai pas d'autre idée
Bonne journée
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonsoir Pounet,
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton de commande, des fois elle fonctionne, des fois pas.... Me rappelle ma vieille bagnole !!!!
Salut
Denys
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Bonjour,
J'avais précisé <<si feuille vide>>, mais pas grave.;o))
Sinon, est-ce que tu as quand même inséré l'instruction en début de
procédure ?
Autre chose, la feuille de départ a-t-elle toujours un index supérieur ou
égal à 2 ?
Car si elle est la première (index =1) et que tu sélectionne la feuille
index-1 il doit y avoir problème
et comme l'instruction On error n'est pas présente, ce ne doit pas
fonctionner.
A part cela, je n'ai pas d'autre idée
Bonne journée
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de news:
9268FD64-3FB9-4783-B438-46D08C1627A9@microsoft.com...
Bonsoir Pounet,
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu
regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois
pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton
de
commande, des fois elle fonctionne, des fois pas.... Me rappelle ma
vieille
bagnole !!!!
Salut
Denys
Bonsoir,
En regardant le code, je me fais la réflexion que copier la plage
A1:A65536
(si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire
gueuler Excel',
mais je n'en suis même pas sûr .
Aussi, en mettant un On Error Resume Next au début de la procédure
avant le With peut cacher le problème ? A vérifier....
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" <Denys@discussions.microsoft.com> a écrit dans le message de
news:
947F32EA-A2B0-48CA-9626-209902B60562@microsoft.com...
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
Bonjour, J'avais précisé <<si feuille vide>>, mais pas grave.;o)) Sinon, est-ce que tu as quand même inséré l'instruction en début de procédure ? Autre chose, la feuille de départ a-t-elle toujours un index supérieur ou égal à 2 ? Car si elle est la première (index =1) et que tu sélectionne la feuille index-1 il doit y avoir problème et comme l'instruction On error n'est pas présente, ce ne doit pas fonctionner. A part cela, je n'ai pas d'autre idée
Bonne journée
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonsoir Pounet,
Tu sais je ne copie que la plage "occupée" de la colonne A.... Si tu regardes les instructions. Ca représente environ 4500 lignes.....
Et c'est curieux parce que des fois l'instruction fonctionne, des fois pas.... Quand je la fais au pas à pas, elle fonctionne.... Sur le bouton de commande, des fois elle fonctionne, des fois pas.... Me rappelle ma vieille bagnole !!!!
Salut
Denys
Bonsoir, En regardant le code, je me fais la réflexion que copier la plage A1:A65536 (si feuille vide ) à partir de T1 sur la feuille suivante, ça doit 'faire gueuler Excel', mais je n'en suis même pas sûr . Aussi, en mettant un On Error Resume Next au début de la procédure avant le With peut cacher le problème ? A vérifier.... -- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/
"Denys" a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Cecile DEBEAUVAIS
que veut-tu dire par "Excel ne veut rien savoir "? Ca se plante ( donc tu connais le N° de la liigne où ca se plante ?) ou bien ca ne se plante pas et ca ne fait pas ce que tu demandes ?
A+
a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
que veut-tu dire par "Excel ne veut rien savoir "? Ca se plante ( donc tu
connais le N° de la liigne où ca se plante ?) ou bien ca ne se plante pas
et ca ne fait pas ce que tu demandes ?
A+
<Denys@discussions.microsoft.com> a écrit dans le message de news:
947F32EA-A2B0-48CA-9626-209902B60562@microsoft.com...
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
que veut-tu dire par "Excel ne veut rien savoir "? Ca se plante ( donc tu connais le N° de la liigne où ca se plante ?) ou bien ca ne se plante pas et ca ne fait pas ce que tu demandes ?
A+
a écrit dans le message de news:
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
anomymousA
bonjour, denys
J'ai fait tourner ta procédure avec une boucle 1000 fois de suite et rien ne s'est planté. Par ailleurs, comme je n'avais pas mis d'application.screenupdatingúlse, j'ai peu suivre le déroulment et je peux t'assurer que ca fonctionne. Au mieux ce que je peux te conseille est de mettre à l'issue de ta copie un Application.cutcopymodeúlse ce qui entraine sommairement un vidage de la mémoire réservée à la plage à copier. Tu as peut-être un problème de mémoire limite quoique j'y crois moyennement. Enfin, en dehors de ça ne cherche pas du côté de ta procédure elle même qui fonctionne bien que son écriture puisse etre aménagée p.e comme suit
Sub ChercherInfoFeuillePrécédente()
Dim lastrow(1 To 2) As Long
If ActiveSheet.Range("T1").Value <> "" Then Exit Sub
Set wssource = ThisWorkbook.Worksheets(ActiveSheet.Index - 1) Set wsdest = ThisWorkbook.Worksheets(ActiveSheet.Index)
'définition de la dernière ligne des feuilles de source et de copie colonne A
For I = 1 To 2 lastrow(I) = ThisWorkbook.Worksheets(ActiveSheet.Index + I - 1).Range("A1").End(xlDown).Row Next
With wssource .Activate Set plageacopiersource = .Range(Cells(1, 1), Cells(lastrow(1), 1)) End With
With wsdest .Activate Set plageacopierdest = .Range(Cells(1, 1), Cells(lastrow(2), 1)) End With
'opérations de copie
plageacopiersource.Copy wsdest.Range("T1")
plageacopierdest.Copy wsdest.Range("S1")
End Sub
Par ailleurs et comme le dit Pounet95, il conviendrait de gérer le fait que la feuille active pet être la 1ere feuille et donc génerer une erruer car l'indice 0 n'appartient pas à la collection des feuilles. Enfin, moi c'est ce que j'en dis .
A+
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
bonjour, denys
J'ai fait tourner ta procédure avec une boucle 1000 fois de suite et rien ne
s'est planté. Par ailleurs, comme je n'avais pas mis
d'application.screenupdatingúlse, j'ai peu suivre le déroulment et je peux
t'assurer que ca fonctionne.
Au mieux ce que je peux te conseille est de mettre à l'issue de ta copie un
Application.cutcopymodeúlse ce qui entraine sommairement un vidage de la
mémoire réservée à la plage à copier.
Tu as peut-être un problème de mémoire limite quoique j'y crois moyennement.
Enfin, en dehors de ça ne cherche pas du côté de ta procédure elle même qui
fonctionne bien que son écriture puisse etre aménagée p.e comme suit
Sub ChercherInfoFeuillePrécédente()
Dim lastrow(1 To 2) As Long
If ActiveSheet.Range("T1").Value <> "" Then Exit Sub
Set wssource = ThisWorkbook.Worksheets(ActiveSheet.Index - 1)
Set wsdest = ThisWorkbook.Worksheets(ActiveSheet.Index)
'définition de la dernière ligne des feuilles de source et de copie
colonne A
For I = 1 To 2
lastrow(I) = ThisWorkbook.Worksheets(ActiveSheet.Index + I -
1).Range("A1").End(xlDown).Row
Next
With wssource
.Activate
Set plageacopiersource = .Range(Cells(1, 1), Cells(lastrow(1), 1))
End With
With wsdest
.Activate
Set plageacopierdest = .Range(Cells(1, 1), Cells(lastrow(2), 1))
End With
'opérations de copie
plageacopiersource.Copy wsdest.Range("T1")
plageacopierdest.Copy wsdest.Range("S1")
End Sub
Par ailleurs et comme le dit Pounet95, il conviendrait de gérer le fait que
la feuille active pet être la 1ere feuille et donc génerer une erruer car
l'indice 0 n'appartient pas à la collection des feuilles.
Enfin, moi c'est ce que j'en dis .
A+
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
J'ai fait tourner ta procédure avec une boucle 1000 fois de suite et rien ne s'est planté. Par ailleurs, comme je n'avais pas mis d'application.screenupdatingúlse, j'ai peu suivre le déroulment et je peux t'assurer que ca fonctionne. Au mieux ce que je peux te conseille est de mettre à l'issue de ta copie un Application.cutcopymodeúlse ce qui entraine sommairement un vidage de la mémoire réservée à la plage à copier. Tu as peut-être un problème de mémoire limite quoique j'y crois moyennement. Enfin, en dehors de ça ne cherche pas du côté de ta procédure elle même qui fonctionne bien que son écriture puisse etre aménagée p.e comme suit
Sub ChercherInfoFeuillePrécédente()
Dim lastrow(1 To 2) As Long
If ActiveSheet.Range("T1").Value <> "" Then Exit Sub
Set wssource = ThisWorkbook.Worksheets(ActiveSheet.Index - 1) Set wsdest = ThisWorkbook.Worksheets(ActiveSheet.Index)
'définition de la dernière ligne des feuilles de source et de copie colonne A
For I = 1 To 2 lastrow(I) = ThisWorkbook.Worksheets(ActiveSheet.Index + I - 1).Range("A1").End(xlDown).Row Next
With wssource .Activate Set plageacopiersource = .Range(Cells(1, 1), Cells(lastrow(1), 1)) End With
With wsdest .Activate Set plageacopierdest = .Range(Cells(1, 1), Cells(lastrow(2), 1)) End With
'opérations de copie
plageacopiersource.Copy wsdest.Range("T1")
plageacopierdest.Copy wsdest.Range("S1")
End Sub
Par ailleurs et comme le dit Pounet95, il conviendrait de gérer le fait que la feuille active pet être la 1ere feuille et donc génerer une erruer car l'indice 0 n'appartient pas à la collection des feuilles. Enfin, moi c'est ce que j'en dis .
A+
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Denys
Bonjour à tous,
Merci beaucoup de vous être penchés sur la question. Pounet, effectivement, je commançais sur la seconde feuille. D'après l'aide de VB, il arrive parfois qu'Excel refuse de coller des données prises dans une autre feuille si la colonne de destination est vide !!! (En tout cas, c'est comme ça que j'ai compris la traduction). J'ai donc inséré une instruction de mettre les mots Nos de compte avant d'exécuter cette macro en T1, et depuis, je n'ai aucun problème !!!!
C'est étonnant, mais il est vrai que la 2e instruction de activesheet.paste elle n'a jamais planté !!!!
En résumé, je ne comprends pas vraiment pourquoi mais enfin, le résultat est que tout va bien maintenant...
Encore une fois, merci à vous tous....
Denys
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub
Merci beaucoup...
Denys
Bonjour à tous,
Merci beaucoup de vous être penchés sur la question. Pounet, effectivement,
je commançais sur la seconde feuille. D'après l'aide de VB, il arrive parfois
qu'Excel refuse de coller des données prises dans une autre feuille si la
colonne de destination est vide !!! (En tout cas, c'est comme ça que j'ai
compris la traduction).
J'ai donc inséré une instruction de mettre les mots Nos de compte avant
d'exécuter cette macro en T1, et depuis, je n'ai aucun problème !!!!
C'est étonnant, mais il est vrai que la 2e instruction de activesheet.paste
elle n'a jamais planté !!!!
En résumé, je ne comprends pas vraiment pourquoi mais enfin, le résultat est
que tout va bien maintenant...
Encore une fois, merci à vous tous....
Denys
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données
copiées...
Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente()
With ActiveSheet
If [T1] <> "" Then Exit Sub
End With
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select
Range("T1").Select
Activesheet.Paste ' Ici Excel ne veut rien savoir......
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Copy
Range("S1").Select
Activesheet.Paste
Range("U1").Select
End Sub
Merci beaucoup de vous être penchés sur la question. Pounet, effectivement, je commançais sur la seconde feuille. D'après l'aide de VB, il arrive parfois qu'Excel refuse de coller des données prises dans une autre feuille si la colonne de destination est vide !!! (En tout cas, c'est comme ça que j'ai compris la traduction). J'ai donc inséré une instruction de mettre les mots Nos de compte avant d'exécuter cette macro en T1, et depuis, je n'ai aucun problème !!!!
C'est étonnant, mais il est vrai que la 2e instruction de activesheet.paste elle n'a jamais planté !!!!
En résumé, je ne comprends pas vraiment pourquoi mais enfin, le résultat est que tout va bien maintenant...
Encore une fois, merci à vous tous....
Denys
Bonjour à tous...
Dans la macro qui suit, Excel ne veut absolument pas coller les données copiées... Sauriez-vous pourquoi??? D'habitude ça fonctionne !!!! Il me semble..
Sub ChercherInfoFeuillePrécédente() With ActiveSheet If [T1] <> "" Then Exit Sub End With ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index - 1).Select Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy ThisWorkbook.Worksheets(ThisWorkbook.ActiveSheet.Index + 1).Select Range("T1").Select Activesheet.Paste ' Ici Excel ne veut rien savoir...... Range("A1").Select Range(Selection, Selection.End(xlDown)).Copy Range("S1").Select Activesheet.Paste Range("U1").Select End Sub