Supprimer contenu des cellules sur ligne

Résolu
aurel51 Messages postés 68 Statut Membre -  
Le Pingou Messages postés 12350 Date d'inscription   Statut Contributeur Dernière intervention   -
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

15 réponses

néné
 
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 Statut Membre 6
 
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
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
néné
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
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 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 450
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
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 Statut Membre 6
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
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 Statut Membre 6
 
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 Statut Membre 6
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
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 Statut Membre 6
 
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 12350 Date d'inscription   Statut Contributeur Dernière intervention   1 470
 
Bonjour aurel51,
Merci pour l'information.
Bonne journée.
0