Problèmes avec une macro

Bonsoir le forum

En me servant d'une macro que quelqu'un sur ce forum m'a écrit, je cherche à copier une plage de cellules contenant des formules dans une nouvelle feuille, mais ça plante, et je ne sais pas pourquoi. En plus je voudrais pouvoir exclure de la plage de données toutes les lignes contenant le mot "Immeubles" avant copiage et collage.

Bien sur

Je joint un fichier avec la macro et un tableau, bien sur ce tableau n'est jamais le même et ne peut parfois ne pas contenir de ligne avec le mot immeuble

D'avance je vous remercie de votre disponibilité et de votre aide

27papa1236.xlsm (40.63 Ko)

Bonsoir,

je dirais que "Past" n'est pas bon.

Je veux dire qu'en ayant en colonne AE5 une formule qui dit "=SI(H5<>"";H5;"")" et qu'ensuite vous la coller sur une feuille en A1 alors la formule va se transposée c'est à dire qu'Excel va partir de A1 par rapport à AE5 et il va essayer de trouver une colonne qui correspond à H5 sur cette nouvelle feuil, ce qui donne une erreur REF car il n'y a pas de colonne plus petite que A !

Donc Past n'est pas bon, il faut utiliser la fonction de "coller valeur" uniquement ce qui aura pour effet de "supprimer" les formules mais de garder les valeurs résultantes.

@ bientôt

LouReeD

Bonsoir

Bonsoir LouReeD

J'ai compris qu'il voulait les formules dans son tableau dans la page "Données"

A voir

Bonsoir 64 (pour les intimes )

Oups on se connaît à peinne...

Bonsoir Banzaï64,

Je ne sais pas ce qu'il veut, c'est ce que j'ai compris....

Attendons le "verdicte" !!!

@ bientôt

LouReeD

Bonsoir LouReed, bonsoir Bansaï64

Merci à tous les deux pour votre réactivité et votre aide

Non je ne veux plus les formules mais les valeurs ou "Résultat" dans la feuille "Données"

et j'ai essayé ".PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _

False, Transpose:=False", mais ca ne fonctionne pas

Concernant ton code Banzaï64,c'est cette partie qui élimine les lignes contenant le mot "immeuble"?

Range("A1:I1").AutoFill Destination:=.Range("A1:I" & Derlig - 4), Type:=xlFillSeries

.Columns("A:I").AutoFit

.Range("I1:I" & Derlig - 4).Value = .Range("I1:I" & Derlig - 4).Value

Bonsoir

pour ma part je me suis déjà rendu compte que le Past supporte mal le With...

Donc ceci fonctionne :

  With ThisWorkbook.Sheets.Add
    .Name = "Données"
  End With
    Sheets("Données").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

@ bientôt

LouReeD

Bonsoir

Je n'ai pas voulu tout reprendre, tu as les valeurs dans la page "Données" --> A vérifier

C'est cette partie qui s'occupe de la suppression des lignes, en colonne I il y a une formule qui marque d'un X si ce n'est pas "Immeuble", il suffit de sélectionner les cellules vides et de supprimer les lignes correspondantes

    On Error Resume Next
    Set Plage = .Range("I1:I" & Derlig - 4).SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    If Not Plage Is Nothing Then
      Plage.EntireRow.Delete
    End If

Bonsoir le forum

Bonsoir Bansaï64 et LouReed

Bon avec ce que vous m'avez fourni, j'ai réaliser ce que je voulais , c'est super

Merci à vous deux pour votre aide et votre disponibilité

sujet clos

Mais de rien,

et merci à vous de votre merci.

Il arrive parfois que des sujet deviennent Résolus sans savoir pourquoi...

https://forum.excel-pratique.com/excel/filtre-en-fonction-d-une-cellule-t68857.html

Je sais c'est méchant

mais bon c'est pour vous dire que ça fait plaisir...

@ bientôt

LouReeD

Rechercher des sujets similaires à "problemes macro"