Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

supprimer un element de tableau avec VBA

tany

XLDnaute Occasionnel
Bonjour à tous,

j'ai un tableau de 300 à 400 éléments disons A1:A400
je voudrais pouvoir supprimer un élément avec VBA
J'ai fait une boucle de 1 à 400 avec une condition
je trouve cela un peu lourd !
y a t-il une manière plus sobre d'agir dans ce cas ?
merci à l'avance de vos avis éclairés.
 

néné06

XLDnaute Accro
Re : supprimer un element de tableau avec VBA

Bonjour Tany,

Pour que nous puissions "affiner" ton programme, le mieux serait que tu nous fasses parvenir:
Un exemple en pièce-jointe
Le code VBA que tu as employé.

Code:
je voudrais pouvoir supprimer un élément avec VBA
Quel élément ?

A te relire

René
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : supprimer un element de tableau avec VBA

Bonjour tany,
Salut René

tany, tu obtiendrais le même résultat en faisant
  • Ctrl+h
  • dans Rechercher: taper le nom
  • dans Remplacer: ne rien inscrire
  • Remplacer tout
 

tany

XLDnaute Occasionnel
Re : supprimer un element de tableau avec VBA

Merci à tous deux
pour la recherche j'aimerai traiter en passant par VBA celui qui manipulera ne connaît pas excel...

j'ai cru pouvoir arranger en adaptant à mon exemple mais je ne m'en sors pas !
serait ce trop demander que de partir de l'exemple ci-joint en m'excusant de ne pas être au top !
dans tous les cas merci bien
 

Pièces jointes

  • Classeur1.xlsm
    18.6 KB · Affichages: 41
  • Classeur1.xlsm
    18.6 KB · Affichages: 53

néné06

XLDnaute Accro
Re : supprimer un element de tableau avec VBA

Re,

Voici le changement!

Private Sub CommandButton1_Click()
Dim d As Variant
d = Cells(2, 4)
numli = Application.Match(d, [D], 0)
If IsNumeric(numli) Then
Rows(numli).Delete
Else
MsgBox ("Valeur non trouvée")
End If
End Sub

Faire :

Match("Nom Recherché, [Colonne:Colonne], 0)
René
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : supprimer un element de tableau avec VBA

Re-bonjour,

numli = Application.Match(d, [D], 0)
René, si un jour quelqu'un essaie d'insérer un smiley dans son code, je dirai que c'est de ta faute
tu sais qu'en mode avancé tu peux désactiver les smileys? (ou utiliser les balises
Code:
)[/SIZE]

Question à tany, s'il repasse par ici: il n'y aura jamais de noms en double, dans la colonne A?
 

job75

XLDnaute Barbatruc
Re : supprimer un element de tableau avec VBA

Bonjour tany, néné06, Modeste,

Avec le fichier du post #3 :

Code:
Private Sub CommandButton1_Click()
Dim nom$, n&
Do
  nom = InputBox("Entrez le nom à supprimer", "Suppresssion", nom)
  If nom = "" Then Exit Sub
  n = Application.CountIf([A:A], nom)
Loop Until n
[A:A].Replace nom, "", xlWhole 'vide les cellules
[A:A].SpecialCells(xlCellTypeBlanks).Delete xlUp 'supprime les cellules vides
MsgBox n & " cellule(s) supprimée(s)"
End Sub
Avec le fichier du post #6 :

Code:
Private Sub CommandButton1_Click()
Dim n&
If [D2] = "" Then Exit Sub
With Range("D72:D" & Rows.Count)
  n = Application.CountIf(.Cells, [D2])
  If n = 0 Then MsgBox "Pas de correspondance": Exit Sub
  .Replace [D2], "", xlWhole 'vide les cellules
  .SpecialCells(xlCellTypeBlanks).Delete xlUp 'supprime les cellules vides
End With
MsgBox n & " cellule(s) supprimée(s)"
End Sub
A+
 

Discussions similaires

Réponses
7
Affichages
319
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…