Boucle de recherche Macro

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

T

Tchebichef

Guest
Bonjour à tous,
Voilà mon problème :
Je possède un fichier excel contenant des informations sur des dispositifs dont une partie est saisie lors de la réception et l'autre partie lors de l'utilisation.
A intervalle régulier, je copie les lignes entièrement complétées (donc lorsque les dispositifs ont été utilisés) dans un autre fichier excel récapitulant les dispositifs utilisés et me permettant de relancer une commande.
Je souhaiterais automatiser cette manipulation par la création d'une macro avec une boucle qui irait vérifier linge après ligne si les informations sont bien renseignées et dans ce cas copierait la ligne dans le fichier de récapitulation.
Est-il possible de programmer une telle boucle ?
Merci de votre aide,
Cordialement,
Tchebichef
 
Re : Boucle de recherche Macro

Re bonjour,
Voilà une feuille test avec un tableau d'exemple.
Dans cet exemple, on peut voir que la première partie des infos a été rentrée : colonne A à H
Lorsque les dispositifs auront été utilisés les colonnes I, J et K seront complétées à leur tour.
Ce que je souhaite, c'est qu'une macro vienne contrôler ligne après ligne le remplissage des colonnes I, J et K et que si ces trois colonnes sont remplies, elle copie la ligne en question (colonne A à K) dans un fichier récapitulatif.
J pourrais le faire à la main, le problème c'est que j'ai certains fichiers avec 3000 lignes et je me sens pas de contrôler 3000 lignes à la main...
Voili voilou
merci de me consacrer du temps
Tchebi
 

Pièces jointes

Re : Boucle de recherche Macro

re,
j'ai inséré une colonne en A, je l'ai appellé Complet et j'ai mis cette formule :
=(J4>0)*(K4>0)*(L4>0)
- si les 3 colonnes sont remplies, la valeur passe à 1
- recopier la formule vers le bas
- il ne reste plus qu'à faire un tri sur la col A(valeur 0 ou 1)
- copier coller

c'est comme cela que je fais
- une solution plus compliquée est possible en VBA
- celle ci prend 2 min
 
Re : Boucle de recherche Macro

Bonjour,

Une piste avec le code suivant qui va inscrire dans une nouvelle feuille les lignes renseignée en I, J, K.
On peut extrapoler ce code pour que les résultats soient dans un classeur plutôt qu'une nouvelle feuille.

Code à copier dans un module standard
Code:
Sub Recap()
Dim S1 As Worksheet
Dim S2 As Worksheet
Dim lastLig&
Dim i&
Dim j&
Dim bool As Boolean
Set S1 = ActiveSheet
lastLig& = S1.Range("a65536").End(xlUp).Row
If lastLig& < 5 Then Exit Sub
S1.Copy After:=Sheets(S1.Index)
Set S2 = ActiveSheet
S2.Name = S2.Name & "_récap"
For i& = lastLig& To 4 Step -1
  bool = True
  For j& = 9 To 11  'colonnes I J K
    If S2.Range(Cells(i&, j&), Cells(i&, j&)) = "" Then
      bool = False
      Exit For
    End If
  Next j&
  If Not bool Then S2.Rows(i&).Delete
Next i&
End Sub

Cordialement.

PMO
Patrick Morange
 
- 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

P
Réponses
0
Affichages
898
panpipes
P
P
Réponses
1
Affichages
2 K
C
Réponses
3
Affichages
17 K
CampaSC
C
T
Réponses
7
Affichages
2 K
thunderstruck
T
0
  • Question Question
Réponses
2
Affichages
1 K
M
Réponses
1
Affichages
929
Retour