Modifier les données d'un fichier

  • Initiateur de la discussion Initiateur de la discussion gloub
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gloub

Guest
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
 
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
 
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
 
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

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

@+
 
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?

@+
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour