Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

procédures multiples

  • Initiateur de la discussion Initiateur de la discussion nicof
  • 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 !

N

nicof

Guest
Bonjour à tous,

Mon problème est le suivant, j'ai plusieurs procédures tels que supprimer les lignes vides, les colonnes vides et les lignes dans lesquelles se trouvent certaines valeurs dans la colonne 1 du fichier.

Cependant, je n'arrive pas à unifier ces procédures en une seule procédure, ce qui me permettrait d'avoir une seule macro.

Voici le programme:

Sub Mise_en_forme()

Application.ScreenUpdating = False '

Dim i As Long
For i = 1 To [a65536].End(xlUp).Row
If Cells(i, 1) Like "*05.02.2008*" Then
Cells(i, 1).EntireRow.Delete
End If

Dim i as integer
For i = Range("A65536").End(xlUp).Row To 1 Step -1
If Cells(i, 1).Value = "" Then Rows(i).Delete
End If

For i = 256 To 1 Step -1
If Cells(65536, i).End(xlUp).Row = 1 Then Cells(1, i).EntireColumn.Delete
End If

Next i
End Sub

Je pense que ma manière d'unifier ces trois procédures en une seule est mauvaise.

De plus, j'ai un petit problème pour une autre condition. J'aimerais faire une macro qui selectionne toutes les valeurs de la colonne 1 commencant par la lette 2 et qui supprime ces lignes.

J'ai trouvé çà mais çà marche que après avoir exécuté dix fois la macro:

Sub Selection_Supprime()

Application.ScreenUpdating = False '
Dim i As Long
For i = 1 To [a65536].End(xlUp).Row
If Cells(i, 1) Like "*2*" Then
Cells(i, 1).EntireRow.Delete
Next i
End Sub
 
Re : procédures multiples

Ok, mais alors pourquoi, quand j'écris çà sur le programme cela ne me supprime pas les lignes oule mot effet est present sur la colonne 28
For i = [a65536].End(xlUp).Row To 1 Step -1
If Left(Cells(i, 28), 5) = "effet" Then
Cells(i, 28).EntireRow.Delete
End If
Next i


Re

moi j'aurais mis:

Code:
If Left(Cells(i,28),5)="effet" Then
 
Re : procédures multiples

Re

Je l'ai testé et c'est pas bon comme je le pensais
Ca ne marche pas cela peut-être ???????
Code:
Sub test()
Application.ScreenUpdating = False 
Dim i As Long
For i = [AB65536].End(xlUp).Row To 1 Step -1
If Cells(i, 28) Like "effet*" Then
Cells(i, 28).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Tu penses d'une drole de façon (lol)
 
Re : procédures multiples

Ca marche toujours pas. ce qui ne m'etonne pas car le mot effet est le debut de l'expression et que la suite de effet peut être multiple.

Je suis quasi sur que la fonction est If Left(Cells.......
et non If Cells


 
Re : procédures multiples

Re



Je persiste et signe ça fonctionne chez moi
(J'ai pris le temps de créer un classeur, d'y saisir des valeurs
et de tester !!!!!)

Mais puique tu sembles si sûr de toi alors je m'éclipse.
 
Re : procédures multiples

Peut etre que ca marche chez toi mais pas chez moi

Surement parce que ca fait partie chez moi d'une procedure

peut etre devrai je en creer une autre


Re



Je persiste et signe ça fonctionne chez moi
(J'ai pris le temps de créer un classeur, d'y saisir des valeurs
et de tester !!!!!)

Mais puique tu sembles si sûr de toi alors je m'éclipse.
 
Re : procédures multiples

Re

Pour moi , je crois que tant la macro de Staple que la mienne devraient fonctionner

Mais tant que tu ne nous auras pas donné un fichier exemple (sans données confidentielles ) on ne pourra rien pour toi !!!!
 
Re : procédures multiples

Re,

Fanchement je comprends pas.....

J'ai crée un fichier d'une ligne et à la 28ème colonne (colonne R donc) j'ai saisi effet renault.

Puis j'ai testé vos deux macros.

A ma grande déception aucune de celle de pierre jean ni de staple ne marche

pk?
 
Re : procédures multiples

Re

R la 28 eme colonne !!!

on a pas du avoir le même instituteur !!!

Staple avait pourtant attiré ton attention AB
passer autant de temps sur une pareille inattention , j'en suis sur le C..L
 
Re : procédures multiples

Et?

Je vois pas où tu veux en venir.

Sur VBA je rentre exactement les programmes que vous m'avez filé et j'y arrive pas.

Ce qui serait bien c'est que vous m'envoyez un fichier de trois quatre lignes avec la macro et que je constate que vos programmes marchent bien.

Merci par avance.


Re


Chez moi la colonne 28 c'est la colonne AB (XL 2000)
 
Re : procédures multiples

SVP vous pouvez m'envoyer un fichier dans lequel j'irai voir la macro et constater ce qui ne va pas.

Moi j'ecris exactement le programme que vous m'avez filé:

Sub test()
Application.ScreenUpdating = False
Dim i As Long
For i = [AB65536].End(xlUp).Row To 1 Step -1
If Cells(i, 28) Like "effet*" Then
Cells(i, 28).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Et pourtant ca me supprime pas la ligne
 
- 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.

Discussions similaires

Réponses
15
Affichages
784
Réponses
5
Affichages
910
Réponses
4
Affichages
281
Réponses
2
Affichages
257
Réponses
10
Affichages
661
Réponses
2
Affichages
527
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…