VBA: Mise à jour base de données [Résolu/Fermé]

Signaler
Messages postés
493
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
26 décembre 2020
-
Messages postés
493
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
26 décembre 2020
-
Bonsoir,

Je me permets de soumettre un autre souci.

Comment pourrais-je effectuer par vba une mise à jour d'une base de données (noms prénoms âge sexe....) en retirant tous les noms "Namor" par exemple?
Les noms se trouvent dans la colonne A

Merci de votre aide

Bien à vous




7 réponses

Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
509
Bonjour,

Tu peux :
- soit faire une recherche du nom par itération dans la colonne A,
- soit appliquer un filtre sur la colonne A

Si besoin, joins un fichier à ta demande.
Pour cela, tu peux utiliser https://www.cjoint.com/
Ensuite, reviens coller ici le lien donné par le site.


A+
Messages postés
15523
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
20 janvier 2021
1 437
Bonjour a vous deux,

un exemple de recherche et suppression lignes

https://www.cjoint.com/c/EJFhBLUt8xf
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
509
Re-bonjour,

Un autre exemple avec un filtre
https://www.cjoint.com/c/EJFisSgZiwo

A+
Messages postés
493
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
26 décembre 2020
32
Bonjour à vous
merci de votre soutien
l'exemple de gyrus est plus calibré à mes connaissances , du coup je l'ai modifié pour l'automatiser (call macro2) et eviter de repasser par l'userform
"réponse"

ex:
call macro2 apres l'importation de la base de données non mise à jour


Sub Macro2()
Dim Reponse As String
Dim DerLig As Long
'Reponse = InputBox("Quel est le nom à supprimer ?", "SUPPRESSION D'UN NOM", "A")
With Worksheets("Feuil1")
'If Reponse <> "" Then
On Error Resume Next
.Columns("A:C").AutoFilter
DerLig = .Range("A" & Rows.Count).End(xlUp).Row
.Range("$A$1:$C$" & DerLig).AutoFilter Field:=1, Criteria1:="namor"
.Rows("2:" & DerLig).SpecialCells(xlCellTypeVisible).Delete
.Columns("A:C").AutoFilter
'End If
End With
End Sub




En principe ça devrait répondre à mes besoins , j'adapte et je teste ..

Bien à vous
Messages postés
493
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
26 décembre 2020
32
Bonjour
Tout roule merci pour l'aide

Pour que la lecture de la bdd] apres impression puisse etre facile , je voudrais la trier par vba par ordre alphabetique .Le tri devrait se faire en fonction de la colonne A ( a2) jusqu'à la derniére ligne occupée ; la bdd s'étend juqu'a la colonne AQ .
J'ai essayé avec l'enregistreur de la macro mais la feuille de la bdd est activée et affichée dés que j'appelle la macro de tri .
merci de votre soutien
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
509
Bonjour,

Tu peux essayer ce code
Sub Trier()
Dim DerLig As Long
With Worksheets("Feuil1")
DerLig = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A2:AQ" & DerLig).Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlNo
End With
End Sub


N'ayant pas de fichier exemple à disposition, je n'ai pas effectué le test.

A+
Messages postés
493
Date d'inscription
jeudi 27 mars 2014
Statut
Membre
Dernière intervention
26 décembre 2020
32
MERCI beaucoup
NB; Je pensais avoir mis résolu