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:

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: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: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+