EXCEL - MACRO
Résolu
olive60
Messages postés
253
Date d'inscription
Statut
Membre
Dernière intervention
-
olive60 Messages postés 253 Date d'inscription Statut Membre Dernière intervention -
olive60 Messages postés 253 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous!
voici mon souci, j'aimerais faire une macro pour ce que j'ai à faire car à la main je met vraiment trop de temps et je risque de perdre la face et faire plein d'erreur...
C'est pour cela que je sollicite le forum et les magiciens qui s'y promènent pour m'aider.
En 'français' la macro ferait ceci :
E19 en valeur de référence
> trouver dans la colonne AC la valeur identique
> Si trouvé, déplacer la ligne de AA jusqu'à HV en AA19
et ainsi de suite jusqu'a la ligne 2304 !!
Si vous avez des idées ou si mon explication n'est pas clair dites le moi
Merci Olive
voici mon souci, j'aimerais faire une macro pour ce que j'ai à faire car à la main je met vraiment trop de temps et je risque de perdre la face et faire plein d'erreur...
C'est pour cela que je sollicite le forum et les magiciens qui s'y promènent pour m'aider.
En 'français' la macro ferait ceci :
E19 en valeur de référence
> trouver dans la colonne AC la valeur identique
> Si trouvé, déplacer la ligne de AA jusqu'à HV en AA19
et ainsi de suite jusqu'a la ligne 2304 !!
Si vous avez des idées ou si mon explication n'est pas clair dites le moi
Merci Olive
A voir également:
- EXCEL - MACRO
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
27 réponses
Je précise un peu :
En 'français' la macro ferait ceci :
E19 en valeur de référence
> trouver dans la colonne AC la valeur identique
> Si trouvé, déplacer la ligne correspondante à la valeur identique trouvée de AA jusqu'à HV en AA19
et ainsi de suite jusqu'a la ligne 2304 !!
Si vous avez des idées ou si mon explication n'est pas clair dites le moi
Merci Olive
Je vous paierais bien une bière pour un coup de main... ;-)
En 'français' la macro ferait ceci :
E19 en valeur de référence
> trouver dans la colonne AC la valeur identique
> Si trouvé, déplacer la ligne correspondante à la valeur identique trouvée de AA jusqu'à HV en AA19
et ainsi de suite jusqu'a la ligne 2304 !!
Si vous avez des idées ou si mon explication n'est pas clair dites le moi
Merci Olive
Je vous paierais bien une bière pour un coup de main... ;-)
franchement je comprends ce que tu veux faire mais je pourrais pas t'aider en macro...
bon courage
Ophélie
bon courage
Ophélie
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut Olive,
ça va jusqu'à la ligne 2304, certes ; mais ça commence à quelle ligne de la colonne AC ?
à la première valeur trouvée, on déplace la ligne en AA19 ; et après, en AA20, AA21, etc ?
tu peux déjà faire une grosse partie du travail par toi-même en utilisant l'enregistrement automatique de macros.
Pour trouver ta valeur, utilise Rechercher (Ctrl+F)
Pour déplacer tes cellules, utilise Couper/Coller (Ctrl+X puis Ctrl+V)
Une fois que tu as un semblant de macro, poste-là et on corrigera pour faire la boucle,entre autres.
A suivre...
ça va jusqu'à la ligne 2304, certes ; mais ça commence à quelle ligne de la colonne AC ?
à la première valeur trouvée, on déplace la ligne en AA19 ; et après, en AA20, AA21, etc ?
tu peux déjà faire une grosse partie du travail par toi-même en utilisant l'enregistrement automatique de macros.
Pour trouver ta valeur, utilise Rechercher (Ctrl+F)
Pour déplacer tes cellules, utilise Couper/Coller (Ctrl+X puis Ctrl+V)
Une fois que tu as un semblant de macro, poste-là et on corrigera pour faire la boucle,entre autres.
A suivre...
voici la macro (qui doit certainement etre un peu polluée!):
Sub en_conc_la_liste_vente_ac_liste_ref()
Range("E307").Select
'la je selectionne la valeur à trouver (cela serait bien si ca pouvais faire la même chose jusqu'à E2304)
Selection.Copy
Sheets("vente monde").Select
Columns("F:F").Select
' la je fais un find avec la valeur a trouver
Sheets("vente monde").Select
Range("E253").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("requet_temp").Select
Range("AB307").Select
ActiveSheet.Paste
End Sub
Sub en_conc_la_liste_vente_ac_liste_ref()
Range("E307").Select
'la je selectionne la valeur à trouver (cela serait bien si ca pouvais faire la même chose jusqu'à E2304)
Selection.Copy
Sheets("vente monde").Select
Columns("F:F").Select
' la je fais un find avec la valeur a trouver
Sheets("vente monde").Select
Range("E253").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToLeft)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("requet_temp").Select
Range("AB307").Select
ActiveSheet.Paste
End Sub
Bonjour,
Ta macro rectifiée, à condition qu'elle fonctionnait avec une ligne, j'ai pas tester.
J'ai laissé tes lignes en commentaires pour que tu t'y retrouve. Après tu peu les supprimés.
A+
Ta macro rectifiée, à condition qu'elle fonctionnait avec une ligne, j'ai pas tester.
Sub en_conc_la_liste_vente_ac_liste_ref() Dim i As Long For i = 307 To 2304 Sheets("vente monde").Select Cells(i, 5).Select 'Range("E307").Select 'la je selectionne la valeur à trouver '(cela serait bien si ca pouvais faire la même chose jusqu'à E2304) Selection.Copy 'Sheets("vente monde").Select 'Columns("F:F").Select ' la je fais un find avec la valeur a trouver Range("E253").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToLeft)).Select Application.CutCopyMode = False Selection.Copy Sheets("requet_temp").Cells(i, 28) 'Range("AB307").Select 'ActiveSheet.Paste Next i End Sub
J'ai laissé tes lignes en commentaires pour que tu t'y retrouve. Après tu peu les supprimés.
A+
Merci bcp lhermitte!!!
mais j'ai l'impression que la macro ne fait pas exactememnt ce que je voudrais!
en effet, elle devrait :
Dans la feuille "requet_temp" prendre la valeur en E307.
aller dans la feuille "vente monde"
rechercher la meme valeur dans la colonne F
Si elle trouve selectionner dans "vente monde" la ligne correspondante à la valeur trouvée et la copier
retourner dans la feuille "requet_temp" et la coller en ligne 307 à partir de la colonne AB
pour la suite :
Dans la feuille "requet_temp" prendre la valeur en E308.
aller dans la feuille "vente monde"
rechercher la meme valeur dans la colonne F
Si elle trouve selectionner dans "vente monde" la ligne correspondante à la valeur trouvée et la copier
retourner dans la feuille "requet_temp" et la coller en ligne 308 à partir de la colonne AB
et ainsi de suuite jusq'ua la ligne E2304...
Sivous pouvez m'aider je suis très embeté depuis 3 jours avec cette macro
mais j'ai l'impression que la macro ne fait pas exactememnt ce que je voudrais!
en effet, elle devrait :
Dans la feuille "requet_temp" prendre la valeur en E307.
aller dans la feuille "vente monde"
rechercher la meme valeur dans la colonne F
Si elle trouve selectionner dans "vente monde" la ligne correspondante à la valeur trouvée et la copier
retourner dans la feuille "requet_temp" et la coller en ligne 307 à partir de la colonne AB
pour la suite :
Dans la feuille "requet_temp" prendre la valeur en E308.
aller dans la feuille "vente monde"
rechercher la meme valeur dans la colonne F
Si elle trouve selectionner dans "vente monde" la ligne correspondante à la valeur trouvée et la copier
retourner dans la feuille "requet_temp" et la coller en ligne 308 à partir de la colonne AB
et ainsi de suuite jusq'ua la ligne E2304...
Sivous pouvez m'aider je suis très embeté depuis 3 jours avec cette macro
en fait quand j'enregistre une macro "automatiquement" ou "a la main", je crois que VBA ne capte pas quand je fais un find (ctrl+F)...
AIDEZ moi please!!!
AIDEZ moi please!!!
:D
J'ai dit...
à condition qu'elle fonctionnait avec une ligne !!!
Bon, ont va rectifié tes lignes alors..
Pas s'énervé, je m'en occupe mais il faut un peu de temps..et tu n'est pas le seul non plus
J'ai dit...
à condition qu'elle fonctionnait avec une ligne !!!
Bon, ont va rectifié tes lignes alors..
Pas s'énervé, je m'en occupe mais il faut un peu de temps..et tu n'est pas le seul non plus
Meci lhermitte tu es un chef!!! si tu peux regarde la description de la macro que je viens de faire un peu plus haut...
encore désolé pour l'harcelement (profil bas) :-)
encore désolé pour l'harcelement (profil bas) :-)
J'ai presque fini, mais c'est pas possible de copier toute une ligne sur une adresse cellule...
tu dit..
selectionner dans "vente monde" la ligne correspondante
Faut me dire ce qui est à copier.. de colonne ? ,jusque colonne ?
tu dit..
selectionner dans "vente monde" la ligne correspondante
Faut me dire ce qui est à copier.. de colonne ? ,jusque colonne ?
copier la ligne correspondante de la colonne E à GY
si tu as d'autres questions je suis la
MErci lhermiite
Olive
si tu as d'autres questions je suis la
MErci lhermiite
Olive
Fait quand même un backup avant de lancer la macro.
J'ai pas ton classeur donc sais pas tester, tu dit...
'Dans la feuille "requet_temp" prendre la valeur en E307. 'aller dans la feuille "vente monde" 'rechercher la meme valeur dans la colonne F 'Si elle trouve selectionner dans "vente monde" la ligne correspondante à la valeur trouvée et la copier 'retourner dans la feuille "requet_temp" et la coller en ligne 307 à partir de la colonne AB 'copier la ligne correspondante de la colonne E à GY Sub en_conc_la_liste_vente_ac_liste_ref() Dim i As Long, e As Long Dim FL1 As Worksheet Dim FL2 As Worksheet Set FL1 = Sheets("vente monde") Set FL2 = Sheets("requet_temp") For i = 307 To 2304 For e = i To FL2.Range("F65536").End(xlUp).Row If FL2.Cells(e, 6) = FL1.Cells(i, 5) Then 'ici trouver le nom FL2.Range(Cells(e, 5), Cells(e, 207)).Copy FL1.Cells(i, 28) End If Next e Next i End Sub
J'ai pas ton classeur donc sais pas tester, tu dit...
je lance prudemment en faisant F8
ou carrément "Run"
ou carrément "Run"
OK avec F8 que se passe-t-il exactement ?
Tu sait à quoi sert F8.. C'est pour faire du pas à pas, c'est a dire que chaque fois que tu tape F8 ca passe sur l'instruction suivante.
Autre chose..
Est-ce que les noms sont écrit de la même façon dans les 2 feuilles (minuscule/majuscule) j'ai pas fait de sélection sur ca.
Tu sait à quoi sert F8.. C'est pour faire du pas à pas, c'est a dire que chaque fois que tu tape F8 ca passe sur l'instruction suivante.
Autre chose..
Est-ce que les noms sont écrit de la même façon dans les 2 feuilles (minuscule/majuscule) j'ai pas fait de sélection sur ca.