Problème formules + VBA

Bonjour à tous,

Je vous sollicite en ce jour ensoleillé pour vous exposer mon problème. Sur la feuille 1 se trouve une base de données extraite par langage SQL, il y a beaucoup de valeurs. Sur la feuille 2 se trouve une formule permettant de ne chercher que ce qui nous intéresse.

Sur la feuille 1 j'effectue un tri par type (colonne J) avec une VBA, je ne veux conserver que les M. Lorsque je lance la VBA, ma feuille 2 me met des #REF!. Ma formule sur cette feuille est la suivante : =+SI(Feuil1!A11<>"";Feuil1!A11;"")

Je ne veux plus afficher cette erreur mais bel et bien les valeurs mises à jours.

Je vous ai mis en pièces jointes le classeur avant VBA et après VBA.

Pouvez-vous m'aider? Merci d'avance!

7avant-vba.xlsm (118.05 Ko)
3apres-vba.xlsm (82.90 Ko)

bonjour

pourquoi modifier fichier 1 ?

en principe c'est inutile, tous les calculs, extractions, exploitations, stat, TCd et graphiques se font sur le fichier 2 sans toucher au 1

note : il arrive qu'on doive au contraire ajouter des colonnes au fichier 1 (genre = ANNEE(date)&" - "&MOIS(date) pour se faciliter les calculs dans le fichier 2 )

Bonjour

A tester

Sub DelDonnées3()
Dim J As Long, Nblg As Long

  Application.ScreenUpdating = False
  Nblg = Range("A" & Rows.Count).End(xlUp).Row
  Range("M11") = 1
  Range("M11").AutoFill Range("M11:M" & Nblg), xlFillSeries
  For J = 11 To Nblg
    If Not Range("J" & J) = "M" Then Rows(J).ClearContents
  Next J
  Range("A11:M" & Nblg).Sort key1:=Range("M11"), order1:=xlAscending, dataoption1:=xlSortNormal, Header:=xlNo
  Columns("M").ClearContents
End Sub

Bonjour Jmd, je dois modifier le fichier 1 car je n'ai pas besoins de toutes les données présentes dans ce fichier et je dois trier la colonne B afin de n'avoir que du texte du style EPOX-MA-.......

Bonjour Banzai64, j'ai utilisé ta VBA est ça fonctionne très bien. Merci.

Merci pour vos réponses, et bonne continuation.

Bonjour

Alpha_Faure a écrit :

Bonjour Banzai 64,

Tout d'abord je te remercie pour ton aide et la VBA que tu m'as envoyé.

J'ai un deuxième problème, je ne vois pas à quoi correspondent toutes tes

lignes de codes, ce qu'elles font sur ma feuille EXCEL. Aurais-tu le temps

de m'expliquer rapidement?

Merci d'avance

On peut rester sur le forum, la réponse peut intéresser d'autre personne

Quelques commentaires, mais rien de bien compliqué

Sub DelDonnées3()
Dim J As Long, Nblg As Long

  Application.ScreenUpdating = False                        ' Accélère la macro (entre autre)
  Nblg = Range("A" & Rows.Count).End(xlUp).Row              ' Nombre de ligne à traiter
  Range("M11") = 1                                          ' On numérote de 1 à
  Range("M11").AutoFill Range("M11:M" & Nblg), xlFillSeries ' NbLg la colonne M
  For J = 11 To Nblg                                        ' On passe en revue toutes les lignes
    If Not Range("J" & J) = "M" Then Rows(J).ClearContents  ' Si pas "M" on efface la ligne
  Next J                                                    ' Ligne suivante
  ' On fait un tri en fonction de la colonne M (celle qui est numérotée de 1 à ... Nblg)
  ' Ce qui a pour conséquence de déplacer toutes les lignes non vides vers le haut du tableau
  ' Tout en respectant l'ordre initial
  Range("A11:M" & Nblg).Sort key1:=Range("M11"), order1:=xlAscending, dataoption1:=xlSortNormal, Header:=xlNo
  Columns("M").ClearContents    ' On efface la colonne numérotée
End Sub
Rechercher des sujets similaires à "probleme formules vba"