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

Macro avec données évolutives

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

P

poular1

Guest
Bonjour,

J'ai besoin de réaliser un fichier qui me permet de retrouver différentes données (Point de Conso, Ref, Designation) issues d'un tableau de données en cliquant sur une cellule (ex:Module1). J'ai utilisé une macro, cela marche trés bien mais je rencontre un problème lorsque je dois mettre à jour ce tableau.

En effet, certaines données sont amenées à être remplacée par d'autres données, supprimée ou encore de nouvelles données peuvent venir s'ajouter à cette liste.

C'est ici que mon problème se situe, je ne sais pas comment faire pour que ma macro englobe les nouvelles données puisque le champ saisi correspond uniquement au données que j avais à ce moment la, puis les futures données ne seront pas forcément classées dans le bon ordre.

Merci de bien vouloir m'aider.

Ci joint un fichier exemple simplifié (les données réelles étant confidentielles)
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macro avec données évolutives

Voici la macro, Je voudrais que le champ puissent évoluer et ainsi ne pas etre figé.

Sub MOui()
'
' MOui Macro
' Macro enregistrée le 27/10/2010 par r393671
'

'
Sheets("Feuil2").Select
Range("A2:C4").Select
Selection.Copy
Sheets("Feuil1").Select
Range("B8😀8").Select
Range("D8").Activate
ActiveSheet.Paste
Range("D8").Select
End Sub
 
Re : Macro avec données évolutives

Bonjour,
Ta réponse me convient, merci. Peux tu me détailler les différentes étapes sur MVB.

Sub mod1()
Sheets("Feuil2").Activate

Dim i As Integer
i = 2
Dim j As Integer
j = 8
Do While Cells(i, 1) <> ""
If Range("A" & i) = "Module1" Then
Range("A" & i & ":C" & i).Copy Sheets("Feuil1").Range("B" & j & "😀" & j)
j = j + 1
End If
i = i + 1
Loop
Sheets("Feuil1").Select
Range("A1").Select
End Sub




Merci
 
Re : Macro avec données évolutives

bonjour,

voilà le code commenté

Sub mod1()
Sheets("Feuil2").Activate ' rend la feuille active
Dim i As Integer ' déclare la variable en nombre entier
i = 2 ' initialise i
' au départ, i = 2 pour démarrer sur la 2ème ligneDim j As Integer
j = 8
'au départ j = 8 pour recopier à la ligne 8
Do While Cells(i, 1) <> "" ' tant que la cellule lig i et col A est diff de rien
If Range("A" & i) = "Module1" Then ' si le contenu cellule a(i) est égal à :
Range("A" & i & ":C" & i).Copy Sheets("Feuil1").Range("B" & j & "😀" & j)
'copie de A(i) à C(i) dans la feuil1 en B(j) à D(j)
j = j + 1 ' incrémente j
End If
i = i + 1 'incrémente i
Loop ' fin de la boucle
Sheets("Feuil1").Select ' remet le curseur à cet endroit
Range("A1").Select
End Sub

@+
 
Dernière édition:
- 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

N
Réponses
21
Affichages
6 K
V
Réponses
2
Affichages
2 K
vynmarius
V
N
Réponses
8
Affichages
2 K
nonolegolfeur
N
D
Réponses
2
Affichages
1 K
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…