Macro excel
Résolu/Fermé
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
-
2 mai 2008 à 14:37
Le Pingou Messages postés 12227 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 janvier 2025 - 7 mai 2008 à 13:48
Le Pingou Messages postés 12227 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 janvier 2025 - 7 mai 2008 à 13:48
A voir également:
- Macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
10 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
5 mai 2008 à 22:57
5 mai 2008 à 22:57
bonjour red-69,
Puisque tu n'apprécies pas la gestion des événements, voici le modèle avec le gros bouton à cliquer : https://www.cjoint.com/?ffwZTB5Am4
Excel ne gère pas la casse dans le nom des onglets donc je fonctionne en majuscule comme toi.
PS : bonjour Le Pingou et merci de l'aide mais red-69 ne veux apparemment pas d'événementiel car il n'a pas intégré ses fonctionnalités avancées qu'il faut comprendre pour les utiliser.
Puisque tu n'apprécies pas la gestion des événements, voici le modèle avec le gros bouton à cliquer : https://www.cjoint.com/?ffwZTB5Am4
Excel ne gère pas la casse dans le nom des onglets donc je fonctionne en majuscule comme toi.
PS : bonjour Le Pingou et merci de l'aide mais red-69 ne veux apparemment pas d'événementiel car il n'a pas intégré ses fonctionnalités avancées qu'il faut comprendre pour les utiliser.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
4 mai 2008 à 09:45
4 mai 2008 à 09:45
bonjour
C'est tout à fait possible mais ce n'est pas nécessairement une bonne formule car le nombre d'onglets n'est pas infini mais limité par la mémoire.
Si tu as plusieurs dizaines de clients tu sera rapidement bloqué sinon je peux te mettre un exemple.
C'est tout à fait possible mais ce n'est pas nécessairement une bonne formule car le nombre d'onglets n'est pas infini mais limité par la mémoire.
Si tu as plusieurs dizaines de clients tu sera rapidement bloqué sinon je peux te mettre un exemple.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
4 mai 2008 à 21:54
4 mai 2008 à 21:54
bonjour
Voici donc un petit exemple qui fait cela à partir d'une feuille "modèle"pour avoir le même formatage des données
https://www.cjoint.com/?fevZdLj6Dw
Voici donc un petit exemple qui fait cela à partir d'une feuille "modèle"pour avoir le même formatage des données
https://www.cjoint.com/?fevZdLj6Dw
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
4 mai 2008 à 23:21
4 mai 2008 à 23:21
Ton fichier semble répondre à mes attentes. Je n'ai juste pas accès à la macro !!! je peux donc pas la reproduire pour mes propres fichiers. Pourrais-tu me la fournir stp ??
aquarelle
Messages postés
7141
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
19 décembre 2024
1 303
>
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
4 mai 2008 à 23:33
4 mai 2008 à 23:33
Bonsoir red-69,
La macro que gbinforme te propose est une macro évènementielle, donc quand tu es dans l'éditeur VBA, dans l'arborescence, il te faut double cliquer sur "Feuil1(récapitulatif)" et tu y verras la macro qu'il a faite.
Bonne nuit
La macro que gbinforme te propose est une macro évènementielle, donc quand tu es dans l'éditeur VBA, dans l'arborescence, il te faut double cliquer sur "Feuil1(récapitulatif)" et tu y verras la macro qu'il a faite.
Bonne nuit
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
>
aquarelle
Messages postés
7141
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
19 décembre 2024
5 mai 2008 à 09:47
5 mai 2008 à 09:47
Bonjour,
j'essaye de faire tourner la macro de gbinforme, mais lorsque j'exécute sa macro à son exemple pour bien comprendre le principe, cela m'indique erreur d'exécution 424 et le débogage se bloque sur la ligne "For Each sel In zone".
que dois-je faire pour réussir à la faire fonctionner ?
j'essaye de faire tourner la macro de gbinforme, mais lorsque j'exécute sa macro à son exemple pour bien comprendre le principe, cela m'indique erreur d'exécution 424 et le débogage se bloque sur la ligne "For Each sel In zone".
que dois-je faire pour réussir à la faire fonctionner ?
aquarelle
Messages postés
7141
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
19 décembre 2024
1 303
>
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
5 mai 2008 à 10:13
5 mai 2008 à 10:13
Bonjour,
La macro de gbinforme n'est, en fait, pas une macro habituelle, comme je te l'ai dit au dessus c'est une macro évenementielle qui se déclenche seule à partir du moment où le contenu de certaines cellules changent, tu n'as pas à la lancer toi même.
Pour la déclencher, il te suffit de compléter dans la feuille "récapitulatif", une nouvelle ligne du tableau : n°client /QUANTITE/INTITULE /UNITE (la macro se déclenchera seule et ajoutera un nouvel onglet).
J'espère que ces explications t'aideront quelque peu.
Bonne journée
La macro de gbinforme n'est, en fait, pas une macro habituelle, comme je te l'ai dit au dessus c'est une macro évenementielle qui se déclenche seule à partir du moment où le contenu de certaines cellules changent, tu n'as pas à la lancer toi même.
Pour la déclencher, il te suffit de compléter dans la feuille "récapitulatif", une nouvelle ligne du tableau : n°client /QUANTITE/INTITULE /UNITE (la macro se déclenchera seule et ajoutera un nouvel onglet).
J'espère que ces explications t'aideront quelque peu.
Bonne journée
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
>
aquarelle
Messages postés
7141
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
19 décembre 2024
5 mai 2008 à 10:39
5 mai 2008 à 10:39
D'accord merci de ces explications.
Du coup je viens de le tester, cela fonctionne effectivement comme tu l'annonces.
Seul souci maintenant, si dans la feuille récapitulatif je créer la ligne 1 avec le client A pour une quantité de 1, intutile AA et Unité AA et sur la ligne 2 je créer le client A pour une quantité de 2, intutile AA et Unité AA, un nouvel onglet apparait nommé "A" (donc jusqu'ici tout va bien) par contre dans ce nouvel onglet, n'apparait que la ligne 2 le client A avec la quantité 1 n'existe pas.
Il me faudrait dans l'onglet A en ligne 1 le client A quantité 1 et en ligne 2 le client A avec la quantité 2
merci d'avance pour votre aide
Du coup je viens de le tester, cela fonctionne effectivement comme tu l'annonces.
Seul souci maintenant, si dans la feuille récapitulatif je créer la ligne 1 avec le client A pour une quantité de 1, intutile AA et Unité AA et sur la ligne 2 je créer le client A pour une quantité de 2, intutile AA et Unité AA, un nouvel onglet apparait nommé "A" (donc jusqu'ici tout va bien) par contre dans ce nouvel onglet, n'apparait que la ligne 2 le client A avec la quantité 1 n'existe pas.
Il me faudrait dans l'onglet A en ligne 1 le client A quantité 1 et en ligne 2 le client A avec la quantité 2
merci d'avance pour votre aide
aquarelle
Messages postés
7141
Date d'inscription
dimanche 8 avril 2007
Statut
Modérateur
Dernière intervention
19 décembre 2024
1 303
5 mai 2008 à 11:20
5 mai 2008 à 11:20
'Lu,
Là, désolée mais il va te falloir attendre que gbinforme (que je salue au passage) revienne car je ne m'y connais pas suffisamment dans ce genre de macro pour pouvoir t'aider. Je suis juste intervenue pour t'aider à comprendre comment fonctionnait la macro.
Je te souhaite donc bonne continuation et une bonne journée
Là, désolée mais il va te falloir attendre que gbinforme (que je salue au passage) revienne car je ne m'y connais pas suffisamment dans ce genre de macro pour pouvoir t'aider. Je suis juste intervenue pour t'aider à comprendre comment fonctionnait la macro.
Je te souhaite donc bonne continuation et une bonne journée
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
5 mai 2008 à 12:14
5 mai 2008 à 12:14
OK merci aquarelle, j'attendrais donc gbinforme
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour être plus clair :
https://www.cjoint.com/?ffmPel0qiZ
voila un exemple de fichier.
à partir de la feuille 1, je souhaite obtenir les feuilles A, D, EF et B.
Je voudrais pouvoir cliquer sur le bouton de commande "trier par nom" pour obtenir les 4 feuilles.
Moi je sais le faire en citant systématiquement dans ma macro le nom recherché. Or je souhaite faire une macro où pour toute information apparaissant dans la colonne nom une nouvelle feuille soit créée.
Merci à tous
https://www.cjoint.com/?ffmPel0qiZ
voila un exemple de fichier.
à partir de la feuille 1, je souhaite obtenir les feuilles A, D, EF et B.
Je voudrais pouvoir cliquer sur le bouton de commande "trier par nom" pour obtenir les 4 feuilles.
Moi je sais le faire en citant systématiquement dans ma macro le nom recherché. Or je souhaite faire une macro où pour toute information apparaissant dans la colonne nom une nouvelle feuille soit créée.
Merci à tous
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
5 mai 2008 à 22:27
5 mai 2008 à 22:27
Bonsoir,
J'ai adapté le super modèle de gbinforme (au passage, merci de nous faire profiter de votre savoir)
par rapport à votre demande.
Entrer les données sur la feuille "EntrerData"
Le lien : https://www.cjoint.com/?ffwvdlfEIK
J'ai adapté le super modèle de gbinforme (au passage, merci de nous faire profiter de votre savoir)
par rapport à votre demande.
Entrer les données sur la feuille "EntrerData"
Le lien : https://www.cjoint.com/?ffwvdlfEIK
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
>
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
5 mai 2008 à 23:02
5 mai 2008 à 23:02
Bonsoir à tous.
Je viens de tester la modification apportée par Jean-Pierre que je remercie au passage. Cela fonctionne très bien avec mon modèle.
Je voudrais savois si, à partir de cette macro, il serait possible de créer un bouton de commande me permettant de faire des mises à jour de toutes les feuilles. Je m'explique, si par exemple mon entité A a une quantité de 200 et que j'ai besoin de la passer à 250, la macro ne tient pas comte de cette modification sauf à créer une nouvelle ligne auquel cas je me retrouve dans la feuille "A" avec une ligne A d'une quantité de 200 et une ligne "A" d'une quantité de 250.
merci d'avance de votre aide
Je viens de tester la modification apportée par Jean-Pierre que je remercie au passage. Cela fonctionne très bien avec mon modèle.
Je voudrais savois si, à partir de cette macro, il serait possible de créer un bouton de commande me permettant de faire des mises à jour de toutes les feuilles. Je m'explique, si par exemple mon entité A a une quantité de 200 et que j'ai besoin de la passer à 250, la macro ne tient pas comte de cette modification sauf à créer une nouvelle ligne auquel cas je me retrouve dans la feuille "A" avec une ligne A d'une quantité de 200 et une ligne "A" d'une quantité de 250.
merci d'avance de votre aide
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
6 mai 2008 à 09:33
6 mai 2008 à 09:33
Merci à tous pour votre aide et vos différentes solutions. Tout cela m'a été très utile, j'avance petit à petit dans les macros.
Bonne journée à tous.
Bonne journée à tous.
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
6 mai 2008 à 16:17
6 mai 2008 à 16:17
rebonjour à tous,
je souhaite apporter des modification à la macro de de gbinforme.
je voudrais trier les nouvelles feuilles par ordre croissant des dates en case H2
et j'aimerais une mise en page automatique .
J'ai donc rajouter les lignes suivantes :
Cells.Select 'tri par date croissante
Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells.Select ' ajustement lmise en forme
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = True
.ReadingOrder = xlContext
.MergeCells = False
End With
Cette formule fonctionne mais pas systématiquement, donc je suis un peu perdu. Mes tableuax initiaux sont similaire dans la forme mais le résultat la macro ne donne pas les me^mes résultats. Dans certains cas la mise en forme est faite dans les nouveaux onglets avec le tri par date en H2 ; dans d'autre cas rien de tout cela n'est effectué .
D'après vous, où se situe l'erreur ??
je souhaite apporter des modification à la macro de de gbinforme.
je voudrais trier les nouvelles feuilles par ordre croissant des dates en case H2
et j'aimerais une mise en page automatique .
J'ai donc rajouter les lignes suivantes :
Cells.Select 'tri par date croissante
Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells.Select ' ajustement lmise en forme
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = True
.ReadingOrder = xlContext
.MergeCells = False
End With
Cette formule fonctionne mais pas systématiquement, donc je suis un peu perdu. Mes tableuax initiaux sont similaire dans la forme mais le résultat la macro ne donne pas les me^mes résultats. Dans certains cas la mise en forme est faite dans les nouveaux onglets avec le tri par date en H2 ; dans d'autre cas rien de tout cela n'est effectué .
D'après vous, où se situe l'erreur ??
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
6 mai 2008 à 16:52
6 mai 2008 à 16:52
Bonjour,
Juste en passant, comment voulez-vous que l'on trouve le disfonctionnement de la moitié d'un code.
Il faut mettre toute la macro pour celà.
Merci
Juste en passant, comment voulez-vous que l'on trouve le disfonctionnement de la moitié d'un code.
Il faut mettre toute la macro pour celà.
Merci
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
6 mai 2008 à 17:08
6 mai 2008 à 17:08
très bien Le Pingou. Désolé. Voici la macro entière :
Option Explicit
___________________________________________________________
Public Sub Tri_par_nom()
' en fonction de la valeur de la colonne A
' création d'une feuille avec nom colonne A
' autres colonnes documentant les cellules concernées
Dim W1 As Worksheet ' feuille base
Dim W2 As Worksheet ' feuille client
Dim lig As Long ' ligne traitée
Dim feu As Object ' feuille présente
Dim ong As Integer ' numèro feuille
Set W1 = Sheets("Feuil1") ' position feuille base
Application.ScreenUpdating = False
For Each feu In Sheets ' suppression feuilles
If feu.Name <> W1.Name Then
Application.DisplayAlerts = False
feu.Delete
Application.DisplayAlerts = True
End If
Next feu
' création des feuilles client
For lig = 10 To W1.Cells(65536, 7).End(xlUp).Row
For ong = 1 To Sheets.Count ' test existance feuille
If Sheets(ong).Name = UCase(W1.Cells(lig, 7).Text) Then
Set W2 = Sheets(ong)
Exit For
End If
Next ong
If ong > Sheets.Count Then
For ong = 2 To Sheets.Count ' tri feuille
If Sheets(ong).Name > UCase(W1.Cells(lig, 7).Text) Then Exit For
Next ong ' création feuille
Sheets.Add(After:=Sheets(ong - 1)).Name = UCase(W1.Cells(lig, 7).Text)
Set W2 = ActiveSheet
W1.Rows(8).Copy Destination:=W2.Rows(1) ' ajout titre
End If
W1.Rows(lig).Copy Destination:=W2.Rows(W2.Cells(65536, 7).End(xlUp).Row + 1) ' ajout ligne traitée
Cells.Select 'tri par date croissante
Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells.Select ' ajustement lmise en forme
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = True
.ReadingOrder = xlContext
.MergeCells = False
End With
Next lig
W1.Activate
Application.ScreenUpdating = True
End Sub
Voila , encore merci
Option Explicit
___________________________________________________________
Public Sub Tri_par_nom()
' en fonction de la valeur de la colonne A
' création d'une feuille avec nom colonne A
' autres colonnes documentant les cellules concernées
Dim W1 As Worksheet ' feuille base
Dim W2 As Worksheet ' feuille client
Dim lig As Long ' ligne traitée
Dim feu As Object ' feuille présente
Dim ong As Integer ' numèro feuille
Set W1 = Sheets("Feuil1") ' position feuille base
Application.ScreenUpdating = False
For Each feu In Sheets ' suppression feuilles
If feu.Name <> W1.Name Then
Application.DisplayAlerts = False
feu.Delete
Application.DisplayAlerts = True
End If
Next feu
' création des feuilles client
For lig = 10 To W1.Cells(65536, 7).End(xlUp).Row
For ong = 1 To Sheets.Count ' test existance feuille
If Sheets(ong).Name = UCase(W1.Cells(lig, 7).Text) Then
Set W2 = Sheets(ong)
Exit For
End If
Next ong
If ong > Sheets.Count Then
For ong = 2 To Sheets.Count ' tri feuille
If Sheets(ong).Name > UCase(W1.Cells(lig, 7).Text) Then Exit For
Next ong ' création feuille
Sheets.Add(After:=Sheets(ong - 1)).Name = UCase(W1.Cells(lig, 7).Text)
Set W2 = ActiveSheet
W1.Rows(8).Copy Destination:=W2.Rows(1) ' ajout titre
End If
W1.Rows(lig).Copy Destination:=W2.Rows(W2.Cells(65536, 7).End(xlUp).Row + 1) ' ajout ligne traitée
Cells.Select 'tri par date croissante
Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Cells.Select ' ajustement lmise en forme
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = True
.ReadingOrder = xlContext
.MergeCells = False
End With
Next lig
W1.Activate
Application.ScreenUpdating = True
End Sub
Voila , encore merci
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
6 mai 2008 à 18:42
6 mai 2008 à 18:42
Bonjour red-69,
Il manque l'intruction suivante:
Sheets(W2.Name).Select
La placer juste avant la ligne : Cells.Select 'tri par date croissante
Il manque l'intruction suivante:
Sheets(W2.Name).Select
La placer juste avant la ligne : Cells.Select 'tri par date croissante
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
6 mai 2008 à 23:00
6 mai 2008 à 23:00
bonjour
Tout simplement : W2.Cells
Tout simplement : W2.Cells
'tri par date croissante W2.Cells.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=True, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal ' ajustement lmise en forme With W2.Cells .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = True .ReadingOrder = xlContext .MergeCells = False End With
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
6 mai 2008 à 23:36
6 mai 2008 à 23:36
Bonjour gbinforme,
Juste pour comprendre: la notation W2.Cells.... à la place de Selection......
permet de se passer du Sheets(W2.Name).Select suivit du Cells.Select
Est-ce bien comme celà.!
Juste pour comprendre: la notation W2.Cells.... à la place de Selection......
permet de se passer du Sheets(W2.Name).Select suivit du Cells.Select
Est-ce bien comme celà.!
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 713
7 mai 2008 à 00:19
7 mai 2008 à 00:19
bonjour Le Pingou,
à partir du moment où l'on a positionné la feuille avec
le fait d'utiliser W2. identifie clairement la feuille concernée et la sélection (depuis excel 2000) n'a aucune utilité pour la plupart des actions.
Tu noteras que dans chaque macro événementielle ou non, je n'ai jamais sélectionné de données : il suffit qu'elles soit clairement identifiées.
Bien sûr si tu lances l'enregistreur de macro tu vas avoir systématiquement des "select" mais c'est seulement dû au fait que l'enregistreur enregistre les sélections effectuées.
On obtient donc par exemple
Ceci peut être remplacé sans aucun souci par:
à partir du moment où l'on a positionné la feuille avec
Set W2 = Sheets(ong) ou Set W2 = ActiveSheet
le fait d'utiliser W2. identifie clairement la feuille concernée et la sélection (depuis excel 2000) n'a aucune utilité pour la plupart des actions.
Tu noteras que dans chaque macro événementielle ou non, je n'ai jamais sélectionné de données : il suffit qu'elles soit clairement identifiées.
Bien sûr si tu lances l'enregistreur de macro tu vas avoir systématiquement des "select" mais c'est seulement dû au fait que l'enregistreur enregistre les sélections effectuées.
On obtient donc par exemple
Range("A1").Select Selection.Copy Range("I1").Select ActiveSheet.Paste
Ceci peut être remplacé sans aucun souci par:
Range("A1").Copy Range("I1").Paste ou sur une ligne Range("A1").Copy Destination:=Range("I1") ou en condensé [A1].Copy Destination:=[I1]
red-69
Messages postés
15
Date d'inscription
vendredi 2 mai 2008
Statut
Membre
Dernière intervention
8 mai 2008
7 mai 2008 à 12:16
7 mai 2008 à 12:16
merci à tous.
Cela fonctionne comme je le souhaitais.
Cela fonctionne comme je le souhaitais.
Le Pingou
Messages postés
12227
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 janvier 2025
1 454
7 mai 2008 à 13:48
7 mai 2008 à 13:48
Bonjour gbinforme,
Merci infiniment pour votre serviabilité et de vos explications qui me sont très profitables.
Excellente journée.
Merci infiniment pour votre serviabilité et de vos explications qui me sont très profitables.
Excellente journée.
5 mai 2008 à 23:29
J'ai apprécié de découvrir votre procédure et d'enrichir mon savoir.
Bonne soirée.
6 mai 2008 à 00:09
Je profite donc aussi de l'occasion pour te saluer Le Pingou car cela faisait longtemps que nous ne nous étions pas croisés.
Bonne nuit et jolis rêves à tous ;-)
6 mai 2008 à 08:20
Merci pour ce sympathique message car une belle journée commence !
En fait chacun progresse avec les échanges d'idées... et c'est très bien ainsi.
à très bientôt sur un autre sujet.
6 mai 2008 à 08:37