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

macro recherche, decalage et loop

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

A

akrillon

Guest
Bonjour,

Je suis sur de la récupération de donnée j'essaie de faire une petite macro pour me simplifier la vie mais pour l'instant c'est justement le contraire ^^

Au lieu de me lancer dans des explications indigeste, je vous met un petit fichier d'exemple.
Ma macro d'essai est dans le boutton et pour l'instant ne fonctionne pas si vous avez des pistes je suis prenneur! 🙂

Merci à vous
 

Pièces jointes

Re : macro recherche, decalage et loop

Bonjour Akrillon,

Peut-être comme ceci:

Code:
Sub CC()

    Dim i As Integer, Nb As Integer
    Dim c As Range
    
    Nb = 1
    For i = 2 To Range("A65536").End(xlUp).Row
        
        Set c = Range("H" & Nb & ":H" & Range("H65536").End(xlUp).Row).Find("x", , xlValues, xlWhole)
        If Not c Is Nothing Then
            
            Range("A" & i & ":D" & i).Copy Destination:=Cells(c.Row, c.Column + 1)
            Nb = c.Row + 1
        
        End If
    
    Next i
    
End Sub

N'hésite pas si tu as des questions !
 
Re : macro recherche, decalage et loop

Bonjour Akrillon, bonjour le forum,

Peut-être comme ça :

Code:
Sub Macro1()
Dim O As Object 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PL As Range 'déclare la variable PL (PLage)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim TB() As Integer 'déclare le tableau de variables TB (TaBleau)
Dim I As Integer 'déclare la variable I (Incrément)

Set O = Sheets("Feuil1") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, 8).End(xlUp).Row 'définit la dernière cellule éditée DL de la colonne 8 (=H) de l'onglet O
Set PL = O.Range("H2:H" & DL) 'définit la plage PL
For Each CEL In PL 'boucle sur toutes les cellules CEL de la plage PL
    If CEL.Value = "x" Then 'condition : si la cellule vaut "x"
        ReDim Preserve TB(I) 'redimensionne le tableau de variables TB
        TB(I) = CEL.Row 'récupère le numéro de ligne dans la variable indexée TB(I)
        I = I + 1 'incrémente I
    End If 'fin de la condition
Next CEL 'prochaine cellule de la boucle
'on obtient dans cet exemple un tableau de 6 variables TB(0) à TB(5)
DL = O.Cells(Application.Rows.Count, 1).End(xlUp).Row 'redéfinit la variable DL (ernière cellule éditée DL de la colonne 1 (=A) de l'onglet O)
For I = 2 To DL 'boucle de la ligne 2 à DL
    O.Cells(I, 1).Resize(, 4).Copy O.Cells(TB(I - 2), 9) 'copie la cellule ligne 1, colonne 1 redimensionnée jusqu'à la colonne D et colle dans la cellule ligne TB(I-2), colonne 9
Next I 'prochaine ligne de la boucle
'cette macro plantera si il y a plus de ligne en colonne A que de "x" en colonne H...
End Sub

[Édition]
Bonjour David on s'est croisé...
 
Re : macro recherche, decalage et loop

Impecable ça marche,
par contre je vais devoir bosser un peu les incrémentation je comprend pas grand chose ^^
Merci beaucoup en tout cas^pour ce gros coup de pouce!
 
- 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

J
  • Question Question
Réponses
7
Affichages
1 K
jp.org
J
A
Réponses
0
Affichages
678
A
P
Réponses
1
Affichages
1 K
Ptrs32
P
J
Réponses
2
Affichages
1 K
Justine B
J
D
  • Question Question
Réponses
6
Affichages
2 K
D
D
Réponses
5
Affichages
1 K
Dimebag
D
D
Réponses
2
Affichages
1 K
descamps
D
S
Réponses
5
Affichages
2 K
steuf999
S
W
Réponses
8
Affichages
1 K
white-angel
W
G
Réponses
4
Affichages
1 K
G
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…