Supprimer contenu des cellules sur ligne

Résolu/Fermé
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 - 3 déc. 2007 à 16:55
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 - 6 déc. 2007 à 10:16
Bonjour,

j'aimerai supprimer le contenu des cellules "I à N" sur une ligne d'un tableau excel? J'arrive seulement a supprimer le contenu de la ligne entière.
Merci à ceux qui pourront m'aider.


Private Sub CommandButton1_Click()

Dim cellulevide As String
On Error Resume Next
Set celluletrouvé = [A5:A9999].Find(What:=cellulevide)

Rows("357:357").Select
Selection.Copy
celluletrouvé.Select
ActiveSheet.Paste
celluletrouvé.Range("A377:I377").Select
Selection.ClearContents

End Sub
A voir également:

15 réponses

Bonjour

Essaie ceux-ci

Private Sub CommandButton1_Click()

Dim cellulevide As String
On Error Resume Next
Set celluletrouvé = [A5:A9999].Find(What:=cellulevide)

Rows("357:357").Select
Selection.Copy
celluletrouvé.Select
ActiveSheet.Paste
celluletrouvé.Range("i377:n377").Select
Selection.ClearContents

End Sub
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
4 déc. 2007 à 08:25
Bonjour,

non ca ne marche pas, il ne faut pas que je selectionne un numéro de ligne ("i377:n377") mais la ligne que je viens de créer car on se décale toujours d'une ligne à chaque insertion.

on ne pourrai tpas faire un truc de ce style là. selectionner chaque colone en incrémentant à partir de ma 1ère cellule.

Private Sub CommandButton1_Click()

Dim cellulevide As String
On Error Resume Next
Set celluletrouvé = [A5:A9999].Find(What:=cellulevide)

Rows("357:357").Select
Selection.Copy
celluletrouvé.Select
ActiveSheet.Paste
("celluletrouvé" and "colone+1").Select
Selection.ClearContents


End Sub


0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
4 déc. 2007 à 09:08
Bonjour
je ne suis pas trop dans la course, sans doute je ne comprend pas complètement votre problème,mais pourquoi ne pas supprimer les cellules I à N avant de copier la ligne
Si vous sélectionner la ligne 357 pour la copier au premierr vide, pourquoi ne pas effacer I357:N357 avant de copier, c'est à dire:
Range("I357:N357").Select
Selection .clearcontents
et placer la suite de votre macro après?
Ainsi les cellules I à N seront vides à la copie?
BCRDLMNT
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
4 déc. 2007 à 18:40
Bonjour,
Juste en passant, à quoi correspond "Rows("357:357")" .... (il s'agit de la ligne 357)... ou avez-vous trouvez cette valeur....
Qu'est ce que vous voulez faire, ce n'est pas clair.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
4 déc. 2007 à 18:47
Pour suivre....
il y a ausi l'option de copier la ligne en deux temps sur la même macro:
_1°) temps sur une ligne fixe référencée dans la macro,au dessus du champ, dans laquelle la macro pourra supprimer de I à N sans problème
_2°)Reprendre la ligne " nettoyée" pour la copier dans la position à la première vide.
tout cela en attendant que quelqu'un veuille bien nous dire comment une macro peut éraser les cellules IàN d'une ligne sélectionnée à l'écran quelqu'elle soit. Ca devrait pouvoir se faire, mais moi, je ne sais pas...
Eriiiic????? Néné ???? Gbinforme????
Les paris sont tous verts.
BCRDLMNT
0
Bonjour

Aurel peux tu envoyer ton fichier ici

http://www.cijoint.fr/index.php

car ce n'est pas clair
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
4 déc. 2007 à 20:23
Bonsoir aurel51,
Vous remplacez la ligne ...
celluletrouvé.Range("i377:n377").Select
par celle-ci :
Range("i" & celluletrouvé.Row & "", "n" & celluletrouvé.Row & "").Select

Merci de votre réponse.
Au fait, vaucluse, combien on gagne ? Salutations.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 397
4 déc. 2007 à 20:40
Bonsoir Le Pingou
C'est Aurel 51qui paye en principe....sans doute, avec un tel pseudo, ce sera probablement la tournée de pastis, ça mérite bien ça
Mais moi personnellemnt, je suis sincérement désolé d'avoir oublié votre nom dans la liste des prétendants à la solution. Ca me servira de leçon pour la prochaine fois.
Là, c'est moi qui suis tout vert!!!!
Avec mes excuses.
BCRDLMNT
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
4 déc. 2007 à 20:47
Bonsoir Vaucluse,
Merci, pour moi l'eau fraiche me comblera parfaitement, je vous laisse ma part de 51.
Bonne soirée.
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
4 déc. 2007 à 21:08
bonsoir tout le monde. merci pour vos nombreuse réponse. je n'ai pas mon fichier excel sur moi, il est au boulot. Je regarderai sa demain matin et vous tiens au courant.

En attendant je vais essayer d'être plus clair.

J'ai un tableau excel que je rempli manuellement. j'insert une ligne à la suite de mon tableau et j'y mets plusieurs valeur dans 12 colonne. Ensuite je réinsert une nouvelle ligne (donc pas le même n° de ligne) etc...

J'ai créé un bouton pour que ma ligne se crée toute seule (mise en forme, formules...) en bas de mon tableau
Certaines colonnes de mon tableau se remplissent automatiquement avec des formules, c'est pour cela que je ne veux pas les effacer.
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
4 déc. 2007 à 21:44
Bonsoir,
Alors qu'elles sont les colonnes à ne pas effacées... car au début vous dites vouloir effacer les colonnes ' i ' à 'n' d'une ligne !
C'est exactement ce que j'ai fait dans ma ligne de code (vider ' i ' à 'n' d'une ligne ) sous poste 7.
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
5 déc. 2007 à 10:36
Excat, j'ai pa fait attention. ce que vous m'avez donné est bon. Je reprends pour les cellule à ne pas effacer (de J à N).
Le code que vous m'avez donné fonctionne mais je me suis trompé dans mon intitulé
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
5 déc. 2007 à 10:50
Range("a" & celluletrouvé.Row & "", "i" & celluletrouvé.Row & "").Select
Selection.ClearContents

Il ne me manque plus que la colonne O que je n'arrive pas à effacer.
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
5 déc. 2007 à 11:33
Bonjour aurel51;
Voici la ligne de code à remplacer :
Range("a" & celluletrouvé.Row & ":i" & celluletrouvé.Row & ",o" & celluletrouvé.Row & "").Select
Il s'agit bien des colonnes A à I + O .
Merci de votre réponse
0
aurel51 Messages postés 68 Date d'inscription jeudi 16 août 2007 Statut Membre Dernière intervention 8 février 2009 6
6 déc. 2007 à 09:32
oui c'est exactement ce qu'il me fallait. merci beaucoup de votre aide. J'aurai aurte chose à vous demander mais c'est pour automatiser des statistiques par rapport à ce tableau donc j'ouvrirai un autre sujet avec un titre approprié.

Bonne journée
0
Le Pingou Messages postés 12058 Date d'inscription mercredi 11 août 2004 Statut Non membre Dernière intervention 2 mai 2024 1 430
6 déc. 2007 à 10:16
Bonjour aurel51,
Merci pour l'information.
Bonne journée.
0