pb corriger la dernière cellule excel 2007 (ctrl fin)

Le
Vincent_C
bonjour à tous,

devant insérer des colonnes dans un fichier excel 2007 volumineux (15 Mo),
je suis bloqué car la dernière cellule dernière (crtl fin) est toute proche
de la dernière colonne.
j'ai essayé différentes méthodes, mais soit la plage de celulle à supprimer
est trop importante (au total plusieurs millions de cellules) et je n'ai pas
assez de ressources systèmes pour que cela passe, soit cela ne fonctionne pas
(j'ai essayé avec la macro ci après, sans succès :

Sub suppr_cell()

With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

Range("CW2210:XEV2667").Select
Selection.Delete Shift:=xlUp

With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub

pourriez vous m'aider à trouver el moyen de réinitialiser correctement cette
dernière cellule, qui me permettrait d'insérer les colonnes dont j'ai besoin ?
Merci d'avance de votre aide. Bien cordialement, Vincent_C
Questions / Réponses high-tech
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
Vincent_C
Le #19167791
Bonjour MichDenis et merci. Désolé mais cela ne fonctionne pas j'ai un
message d'erreur avec la macro : erreur 91 variable With non définie
D'avance merci.

"MichDenis" a écrit :

Bonjour Vincent,

Une façon de faire :
'--------------------------------------------------
Sub test()

Dim DerCol As Integer
Dim DerLig As Long

With Feuil1 'Nom feuille à adaper
'donne la dernière colonne occupée dans une feuille
DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column

'donne la dernière ligne occupée dans une ligne
DerLig = .Cells.Find(What:="*", LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
MsgBox .Cells(DerLig, DerCol).Address
'OU
.Cells(DerLig, DerCol).Select
End With
End Sub
'--------------------------------------------------



"Vincent_C" bonjour à tous,

devant insérer des colonnes dans un fichier excel 2007 volumineux (15 Mo),
je suis bloqué car la dernière cellule dernière (crtl fin) est toute proche
de la dernière colonne.
j'ai essayé différentes méthodes, mais soit la plage de celulle à supprimer
est trop importante (au total plusieurs millions de cellules) et je n'ai pas
assez de ressources systèmes pour que cela passe, soit cela ne fonctionne pas
(j'ai essayé avec la macro ci après, sans succès :

Sub suppr_cell()

With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

Range("CW2210:XEV2667").Select
Selection.Delete Shift:=xlUp

With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub

pourriez vous m'aider à trouver el moyen de réinitialiser correctement cette
dernière cellule, qui me permettrait d'insérer les colonnes dont j'ai besoin ?
Merci d'avance de votre aide. Bien cordialement, Vincent_C


Vincent_C
Le #19168031
Bonjour, en fait mon besoin est un peu différent : est il possible de
supprimer une zone importante dans excel 2007 comme cw1:ec2209 avec une
macro, sans que l'opération soit trop longue : j'ai essayé manuellement mais
c'est vraiment très (trop) long !

merci encore !

Bien cordialement, Vincent_C

"MichDenis" a écrit :

Une erreur 91... c'est probablement que la méthode "Find"
ne trouve pas ce qu'elle cherche. Est-ce possible que tu aies
essayé cette macro dans une feuille vierge? Si oui, cette erreur
est normale. J'aurais dû ajouter la ligne suivante en début de
code "On error resume next"

Sinon, tu vas devoir donner un peu plus d'explications!




"Vincent_C" de groupe de discussion :

Bonjour MichDenis et merci. Désolé mais cela ne fonctionne pas j'ai un
message d'erreur avec la macro : erreur 91 variable With non définie
D'avance merci.

"MichDenis" a écrit :

> Bonjour Vincent,
>
> Une façon de faire :
> '--------------------------------------------------
> Sub test()
>
> Dim DerCol As Integer
> Dim DerLig As Long
>
> With Feuil1 'Nom feuille à adaper
> 'donne la dernière colonne occupée dans une feuille
> DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
> SearchOrder:=xlByColumns, _
> SearchDirection:=xlPrevious).Column
>
> 'donne la dernière ligne occupée dans une ligne
> DerLig = .Cells.Find(What:="*", LookIn:=xlFormulas, _
> SearchOrder:=xlByRows, _
> SearchDirection:=xlPrevious).Row
> MsgBox .Cells(DerLig, DerCol).Address
> 'OU
> .Cells(DerLig, DerCol).Select
> End With
> End Sub
> '--------------------------------------------------
>
>
>
> "Vincent_C" message de groupe de discussion :

> bonjour à tous,
>
> devant insérer des colonnes dans un fichier excel 2007 volumineux (15
Mo),
> je suis bloqué car la dernière cellule dernière (crtl fin) est toute
proche
> de la dernière colonne.
> j'ai essayé différentes méthodes, mais soit la plage de celulle à
supprimer
> est trop importante (au total plusieurs millions de cellules) et je n'ai
pas
> assez de ressources systèmes pour que cela passe, soit cela ne
fonctionne pas
> (j'ai essayé avec la macro ci après, sans succès :
>
> Sub suppr_cell()
>
> With Application
> .Calculation = xlManual
> .MaxChange = 0.001
> End With
> ActiveWorkbook.PrecisionAsDisplayed = False
>
> Range("CW2210:XEV2667").Select
> Selection.Delete Shift:=xlUp
>
> With Application
> .Calculation = xlAutomatic
> .MaxChange = 0.001
> End With
> ActiveWorkbook.PrecisionAsDisplayed = False
>
> End Sub
>
> pourriez vous m'aider à trouver el moyen de réinitialiser correctement
cette
> dernière cellule, qui me permettrait d'insérer les colonnes dont j'ai
besoin ?
> Merci d'avance de votre aide. Bien cordialement, Vincent_C



Vincent_C
Le #19168401
merci, en fait j'ai besoin de supprimer les cellules complétement (le but de
toute cette "manoeuvre" est de reseter la dernière cellule et d'alléger le
fichier en consèquence)

Merci

"MichDenis" a écrit :

Dans la procédure, tu dois adapter le nom de la feuille selon
celle de ton application.

'Pour effacer seulement les données et non le format de cellule
'-----------------------------------------------
Sub Effacer()
Dim ModeCalcul As String
ModeCalcul = Application.Calculation
Application.EnableEvents = False

With Worksheets("NomDeLaFeuille") ' à déterminer
.Range("cw1:ec2209").ClearContents
End With

Application.Calculation = ModeCalcul
Application.EnableEvents = True
End Sub
'-----------------------------------------------

Pour effacer les données et le format de cellules, tu
remplaces cette ligne de code dans la procédure :
.Range("cw1:ec2209").ClearContents
'Pour
.Range("cw1:ec2209").Clear



"Vincent_C" de groupe de discussion :

Bonjour, en fait mon besoin est un peu différent : est il possible de
supprimer une zone importante dans excel 2007 comme cw1:ec2209 avec une
macro, sans que l'opération soit trop longue : j'ai essayé manuellement
mais
c'est vraiment très (trop) long !

merci encore !

Bien cordialement, Vincent_C

"MichDenis" a écrit :

> Une erreur 91... c'est probablement que la méthode "Find"
> ne trouve pas ce qu'elle cherche. Est-ce possible que tu aies
> essayé cette macro dans une feuille vierge? Si oui, cette erreur
> est normale. J'aurais dû ajouter la ligne suivante en début de
> code "On error resume next"
>
> Sinon, tu vas devoir donner un peu plus d'explications!
>
>
>
>
> "Vincent_C" message
> de groupe de discussion :
>
> Bonjour MichDenis et merci. Désolé mais cela ne fonctionne pas j'ai un
> message d'erreur avec la macro : erreur 91 variable With non définie
> D'avance merci.
>
> "MichDenis" a écrit :
>
> > Bonjour Vincent,
> >
> > Une façon de faire :
> > '--------------------------------------------------
> > Sub test()
> >
> > Dim DerCol As Integer
> > Dim DerLig As Long
> >
> > With Feuil1 'Nom feuille à adaper
> > 'donne la dernière colonne occupée dans une feuille
> > DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
> > SearchOrder:=xlByColumns, _
> > SearchDirection:=xlPrevious).Column
> >
> > 'donne la dernière ligne occupée dans une ligne
> > DerLig = .Cells.Find(What:="*", LookIn:=xlFormulas, _
> > SearchOrder:=xlByRows, _
> > SearchDirection:=xlPrevious).Row
> > MsgBox .Cells(DerLig, DerCol).Address
> > 'OU
> > .Cells(DerLig, DerCol).Select
> > End With
> > End Sub
> > '--------------------------------------------------
> >
> >
> >
> > "Vincent_C" > message de groupe de discussion :
>
> > bonjour à tous,
> >
> > devant insérer des colonnes dans un fichier excel 2007 volumineux (15
> Mo),
> > je suis bloqué car la dernière cellule dernière (crtl fin) est
toute
> proche
> > de la dernière colonne.
> > j'ai essayé différentes méthodes, mais soit la plage de celulle à
> supprimer
> > est trop importante (au total plusieurs millions de cellules) et je
n'ai
> pas
> > assez de ressources systèmes pour que cela passe, soit cela ne
> fonctionne pas
> > (j'ai essayé avec la macro ci après, sans succès :
> >
> > Sub suppr_cell()
> >
> > With Application
> > .Calculation = xlManual
> > .MaxChange = 0.001
> > End With
> > ActiveWorkbook.PrecisionAsDisplayed = False
> >
> > Range("CW2210:XEV2667").Select
> > Selection.Delete Shift:=xlUp
> >
> > With Application
> > .Calculation = xlAutomatic
> > .MaxChange = 0.001
> > End With
> > ActiveWorkbook.PrecisionAsDisplayed = False
> >
> > End Sub
> >
> > pourriez vous m'aider à trouver el moyen de réinitialiser
correctement
> cette
> > dernière cellule, qui me permettrait d'insérer les colonnes dont
j'ai
> besoin ?
> > Merci d'avance de votre aide. Bien cordialement, Vincent_C
>



Vincent_C
Le #19168811
merci. pour supprimer les cellules, est il possible de remplace l'instruction
.Clear par .Delete ?

"MichDenis" a écrit :

Dans la procédure, tu dois adapter le nom de la feuille selon
celle de ton application.

'Pour effacer seulement les données et non le format de cellule
'-----------------------------------------------
Sub Effacer()
Dim ModeCalcul As String
ModeCalcul = Application.Calculation
Application.EnableEvents = False

With Worksheets("NomDeLaFeuille") ' à déterminer
.Range("cw1:ec2209").ClearContents
End With

Application.Calculation = ModeCalcul
Application.EnableEvents = True
End Sub
'-----------------------------------------------

Pour effacer les données et le format de cellules, tu
remplaces cette ligne de code dans la procédure :
.Range("cw1:ec2209").ClearContents
'Pour
.Range("cw1:ec2209").Clear







"Vincent_C" de groupe de discussion :

Bonjour, en fait mon besoin est un peu différent : est il possible de
supprimer une zone importante dans excel 2007 comme cw1:ec2209 avec une
macro, sans que l'opération soit trop longue : j'ai essayé manuellement
mais
c'est vraiment très (trop) long !

merci encore !

Bien cordialement, Vincent_C

"MichDenis" a écrit :

> Une erreur 91... c'est probablement que la méthode "Find"
> ne trouve pas ce qu'elle cherche. Est-ce possible que tu aies
> essayé cette macro dans une feuille vierge? Si oui, cette erreur
> est normale. J'aurais dû ajouter la ligne suivante en début de
> code "On error resume next"
>
> Sinon, tu vas devoir donner un peu plus d'explications!
>
>
>
>
> "Vincent_C" message
> de groupe de discussion :
>
> Bonjour MichDenis et merci. Désolé mais cela ne fonctionne pas j'ai un
> message d'erreur avec la macro : erreur 91 variable With non définie
> D'avance merci.
>
> "MichDenis" a écrit :
>
> > Bonjour Vincent,
> >
> > Une façon de faire :
> > '--------------------------------------------------
> > Sub test()
> >
> > Dim DerCol As Integer
> > Dim DerLig As Long
> >
> > With Feuil1 'Nom feuille à adaper
> > 'donne la dernière colonne occupée dans une feuille
> > DerCol = .Cells.Find("*", LookIn:=xlFormulas, _
> > SearchOrder:=xlByColumns, _
> > SearchDirection:=xlPrevious).Column
> >
> > 'donne la dernière ligne occupée dans une ligne
> > DerLig = .Cells.Find(What:="*", LookIn:=xlFormulas, _
> > SearchOrder:=xlByRows, _
> > SearchDirection:=xlPrevious).Row
> > MsgBox .Cells(DerLig, DerCol).Address
> > 'OU
> > .Cells(DerLig, DerCol).Select
> > End With
> > End Sub
> > '--------------------------------------------------
> >
> >
> >
> > "Vincent_C" > message de groupe de discussion :
>
> > bonjour à tous,
> >
> > devant insérer des colonnes dans un fichier excel 2007 volumineux (15
> Mo),
> > je suis bloqué car la dernière cellule dernière (crtl fin) est
toute
> proche
> > de la dernière colonne.
> > j'ai essayé différentes méthodes, mais soit la plage de celulle à
> supprimer
> > est trop importante (au total plusieurs millions de cellules) et je
n'ai
> pas
> > assez de ressources systèmes pour que cela passe, soit cela ne
> fonctionne pas
> > (j'ai essayé avec la macro ci après, sans succès :
> >
> > Sub suppr_cell()
> >
> > With Application
> > .Calculation = xlManual
> > .MaxChange = 0.001
> > End With
> > ActiveWorkbook.PrecisionAsDisplayed = False
> >
> > Range("CW2210:XEV2667").Select
> > Selection.Delete Shift:=xlUp
> >
> > With Application
> > .Calculation = xlAutomatic
> > .MaxChange = 0.001
> > End With
> > ActiveWorkbook.PrecisionAsDisplayed = False
> >
> > End Sub
> >
> > pourriez vous m'aider à trouver el moyen de réinitialiser
correctement
> cette
> > dernière cellule, qui me permettrait d'insérer les colonnes dont
j'ai
> besoin ?
> > Merci d'avance de votre aide. Bien cordialement, Vincent_C
>



MichDenis
Le #19169281
| est il possible de remplace l'instruction .Clear par .Delete ?

OUI
Publicité
Poster une réponse
Anonyme