fonctions ne fonctionne pas une fois ensembles

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 !

zoidberg

XLDnaute Nouveau
Salut à tous, je fais une nouvelle fois appel à vos connaissances. j'ai un fichier avec une feuille de données sur laquelle je dois faire deux choses :

1- Insérer deux formules sur deux colonnes
2- Trier les lignes selon les résultats des formules.

Mais avant tout ça je dois coller les données d'un autre fichier. Celui ci changeant de date tous les jours je choisis de faire un coller après sélection. Donc dans les fait on ouvre le fichier quotidien, copie toutes les données et on retourne dans le fichier de la macro ou, à son exécution elle colle toutes les données dans le tableau et exécute le reste des opérations.

J'ai deux problèmes : Le premier c'est que au collage j'ai une erreur 1004 "la méthode paste de la classe worksheet a échoué" , même lancée individuellement cette petite macro de collage échoue alors que j'ai déjà utilisé la même dans un autre classeur avec succès...

Ensuite la partie de suppression des lignes fonctionne parfaitement quand elle est lancée seule mais elle ne supprime que la première ligne quand elle est lancée avec le reste.

En espérant avoir été clair, mon fichier contiens des données sensibles donc je l'enverrai modifié si nécessaire.

Je vous met le code toutefois.

D'avance merci !!


VB:
    Sheets("Calcul TPD données").Select
    Range("A1").Select
    ActiveSheet.Paste
   
    Range("J1,J:J").Select
    Selection.FormulaR1C1 = "=RIGHT(RC[-9],LEN(RC[-9])-2)"
    Range("K1,K:K").Select
    Selection.FormulaR1C1 = "=LEFT(RC[-1],LEN(RC[-1])-1)"
   
    Dim c As Range, derlig As Long, plage As Range
derlig = Range("K" & Rows.Count).End(xlUp).Row
For Each c In Range("K1:K" & derlig).Cells
  Select Case UCase(c.Text)
    Case "A", "B", "T", "U", "Z"
    Case Else
      If plage Is Nothing Then
        Set plage = c
      Else
        Set plage = Application.Union(plage, c)
      End If
   End Select
Next
If Not plage Is Nothing Then plage.EntireRow.Delete

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

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
213
Réponses
4
Affichages
380
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
773
Réponses
7
Affichages
533
Retour