Modifier les données d'un fichier

gloub

XLDnaute Nouveau
Bonsoir,

Ci-joint un fichier permettant de trier des oeuvres selon leur titre, leur nom d'auteur et leur genre.
Sur la feuillles de calcul "données" apparaissent les lignes correpondantes jusqu'à la ligne 537.
J'aimerais supprimer toutes ces données et les remplacer par d'autres, mais je n'y parviens pas.
J'essaye de tout sélectionner par ctrl+ a suivi de suppr, mais cela ne fonctionne pas.
Qui connaîtrait une combine pour le faire et en outre pour libérer les volets qui apparaissent à la ligne 3?

D'avance merci

gloub

Adrese du lien:

http://www.cjoint.com/?3FqoJXPuRt1
 

CHALET53

XLDnaute Barbatruc
Re : Modifier les données d'un fichier

bonjour

Désactive temporairement la macro événementielle en ajoutant : exit sub
tu supprimes tes données
tu réactives la macro en supprimant : exit sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Exit Sub
If Not Application.Intersect(Target, [base]) Is Nothing Then
Application.ScreenUpdating = False

Cells(2, Target.Column) = Target
Cells(2, Target.Column).Select
Call cherche
End If
End Sub
 

gloub

XLDnaute Nouveau
Re : Modifier les données d'un fichier

Re-bonjour Chalet53,

Peux-tu me dire ce que je dois rajouter dans le code pour pouvoir ajouter des colonnes et faire des recherche non seulement en b2, c2 d2, mais aussi en e2, f2 g2, etc...

D'avance merci

Cordialement

gloub
 

CHALET53

XLDnaute Barbatruc
Re : Modifier les données d'un fichier

Bonjour,

Un essai
Plusieurs modifications
Les zones nommées (Base / Critère / Les_crit) pour les étendre à la colonne G
Les procédures événementielles et les programmes : remplacer le "e" par "g"

Je ne vois pas à quoi sert la procédure événementielle :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

j'ai laissé l'instruction : Exit Sub en 2ème ligne

J'ai mis des noms bidons en colonne F et G pour le test

a+
 

Pièces jointes

  • Gloub.xls
    109.5 KB · Affichages: 32

gloub

XLDnaute Nouveau
Re : Modifier les données d'un fichier

Re-bonjour,

Un grand merci pour ton fichier "gloub.xls" qui fonctionne bien.

Pour le plaisir de bien comprendre, pourrais-tu me dire ou se trouvent les zones nommées (Base / Critère / Les_crit) dont tu t'es servi pour les étendre à la colonne G.
Quand à la procédure événementielle, je ne sais pas non plus à quoi elle sert, mais je l'ai gardée de peur de tout détraquer.
Excuse mon approche empirique de la programmation. Toutefois, je ne demande qu'à progresser.

@+

Cordialement
 

gloub

XLDnaute Nouveau
Re : Modifier les données d'un fichier

D'accord, je vais chercher pour excel 2013. Je te tiendrai au courant.
Une dernière question:
Dans la macro suivante tu passes de [b2:e10] à [b2:g10], ce qui est normal pour obtenir 2 colonnes de plus. Cependant , je ne comprends pas pourquoi on s'arrête à la ligne 10 alors que les données qui remplissent les colonnes vont bien plus loin que la ligne 10. As-tu s/t/p. une explication à cela?

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [b2:g10]) Is Nothing Then
Call cherche
End If
End Sub

@+
 

gloub

XLDnaute Nouveau
Re : Modifier les données d'un fichier

Ok,merci. Entre -temps je crois que j'ai réussi à modifier depuis excel 2013 les zones (base ; les_crit ; et critères jusqu' à la colonne "j" incluse.
Voir fichier ci-joint


http://cjoint.com/?3FroBGS3eOZ

J'ai modifié le classeur comme suit:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [b2:J10]) Is Nothing Then
Call cherche
End If
End Sub


Et les macros ainsi:

Sub cherche() 'filtrage
Application.ScreenUpdating = False
Application.EnableEvents = False

Range("base").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("b1:j2"), Unique:=False
'[a5].Activate
Application.EnableEvents = True
End Sub
Sub afficherTout()
Application.EnableEvents = False
Application.ScreenUpdating = False

On Error Resume Next
ActiveSheet.ShowAllData 'suspend le filtrage
Application.GoTo [a5], Scroll:=True
[a2:j2].ClearContents
On Error GoTo 0
[a4].RowHeight = 0
Application.EnableEvents = True
End Sub
Sub test()
Application.EnableEvents = True
End Sub

Cependant , j'ai encore du faire une boulette dont j'ignore la cause, car les 3 colonnes que j'ai crées ne réagissent pas comme les précédentes.
Veux-tu bien me remettre sur la bonne voie?

@+
 

gloub

XLDnaute Nouveau
Re : Modifier les données d'un fichier

Rebonjour Chalet53,
Ca y est, je viens de trouver la combine. En fait, il faut recopier tous les titres qui sont en ligne 1 sur la ligne 4 qui est cachée et cela fonctionne!
Bien entendu, je ne sais pas pourquoi, mais l'essentiel est que ça marche.

Encore merci pour tout et bonne fin de journée

Amicaelment

Gloub

Ps: si tu as trouvé une autre façon, je suis bien sûr preneur
 

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2