XL 2010 Effacer le contenu d'une ligne

Toufi

XLDnaute Nouveau
Bonjour à tous
Noob sur le VBA, j'ai parcouru le forum sans trouver la solution à mon problème.
Dans mon code, si je rencontre l'erreur 13 (division par 0), j'ai une pop-up qui informe l'utilisateur de l'arrêt du traitement.

Après avoir cliquer sur "Ok", je souhaite supprimer tout le contenu de la dernière ligne fraîchement créée.
Je sais que je suis tout prêt, mais lorsque j'exécute mon code seul le contenu de la cellule A* est supprimée, j'ai toujours les autres contenus des cellules de la même ligne de B à G renseignées.

Voici mon bout de code
GestionErreur:

If Err = 13 Then
StopMacro = MsgBox("La Cellule CF/Sec de la feuille du mois de " & NomFeuilleMoisACreer & " n'est pas valorisée" & Chr(10) _
& "la procédure va s'arréter")

'Efface le contenu de la dernière cellule saisie
Worksheets("Graphe découpé (2)").Range("A26:G26").End(xlUp).ClearContents

Exit Sub

End If

Merci d'avance pour votre aide ;)
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

Si j'ai bien compris, une autre syntaxe: Cells(Rows.Count, 1).End(3).Resize(, 7)
Ci-dessous une macro de test pour illustrer la chose
(à tester sur une feuille vide)
VB:
Sub Test()
Dim RAZ As Range
'/// partie du code génération données de test ///
Randomize 1600
ActiveSheet.UsedRange.Clear
Range("A1:G" & Application.RandBetween(1, 26)) = Application.RandBetween(1, 1600)
'/// FIN partie code génération données de test ///

'autre syntaxe possible et un chouia plus courte
Set RAZ = Cells(Rows.Count, 1).End(3).Resize(, 7)
MsgBox "Plage Cellules: " & RAZ.Address(0, 0) & Chr(13) & "Dernière ligne non vide: " & RAZ.Row, vbInformation
RAZ.Interior.ColorIndex = Application.RandBetween(1, 56) 'ligne juste pour le test
RAZ = "" 'efface le contenu
End Sub
 

Calvus

XLDnaute Barbatruc
Bonjour,

@Calvus, c'était presque ça, ton code efface toutes mes données :/


Oui en effet... du moins certainement...ou encore possible....
Mais ! tout dépend du fichier et des données telles qu'elles sont organisées !
Donc, sans fichier joint, difficile d'avoir une réponse exacte. C'est sûr que si la cellule G de la ligne concernée est vide, on va avoir un problème.

Dans ce cas là, utiliser ce code :

VB:
Range(Range("A26").End(xlUp), Range("A26").End(xlUp).Offset(, 6)).ClearContents

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 525
Messages
2 089 325
Membres
104 121
dernier inscrit
bobquad01