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

L

lulu49

Guest
Macros déplacer des cellules

Bonjour à tous, avec mon niveau peu élevé je n'arrive pas à réaliser de macros pour agencer des données. Je vous ai mis un fichier joint pour éclaircir mes explications

En fait je voudrais faire faire deux choses à excel :
La prémière transférer les données des lignes de la feuille "Table" pour lesquelles les colonnes E à N contiennent des valeurs, dans la table "profils en travers" en les réagencant sous la forme :
REF_PAD_Secteur/REF_PAD_Mesure/Session/X1/Y1
REF_PAD_Secteur/REF_PAD_Mesure/Session/X2/Y2
REF_PAD_Secteur/REF_PAD_Mesure/Session/X3/Y3
REF_PAD_Secteur/REF_PAD_Mesure/Session/X4/Y4
REF_PAD_Secteur/REF_PAD_Mesure/Session/X4/Y5
et ainsi de suite avec les valeurs suivantes (toujours par 5 lignes).

La seconde transférer les données de la feuille "table" dans la feuille "profils en long", supprimer les lignes vides et créer un graphique pour l'ensemble des lignes ayant la même valeur dans la colonne A.

Je vous remercie d'avance car je ne sort pas la tête de l'eau...
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macros déplacer des cellules

Bonjour,

Si j'ai compris ce que tu voulais faire, voici le transfert des données.

seules les données non nulles sont transférées.


Pour le graphique il faudrait plus de précision,
si tu veux "graphique pour l'ensemble des lignes ayant la même valeur dans la colonne A", il suffit de faire le graphique en sélectionnant la feuille table( ?) .


GIBI




GIBI
 

Pièces jointes

Re : Macros...

Merci GIBI, ta macro fonctionne nickel. Je te mets mon fichier (LSessai3) avec ce que j'ai fait pour remplacer la macro que je n'arrivai pas à réaliser.!! en fait il est trop gros même compressé, désolé.

Sinon je te mets l'autre fichier (graph auto) pour l'édition automatique des graphiques. Je m'explique il faudrait créer automatiquement un graphique (selon le modèle présenté: série 1 = colonne F, série 2 = colonne G et en X la colonne E) pour toutes les cellules identiques dans la colonne B.

J'espère avoir été clair. Merci d'avance pour ton aide.

PS : J'ai pas pigé ce que tu mes dit dans le message précédent pour le graph ;-)
 

Pièces jointes

Dernière modification par un modérateur:
Re : Macros...

re-bonjour,

Voici une macro qui crée les graphique selon ton exemple (chaque graphique est généré sur la feuille en cours.



Sub CreerGraphique()

'
Dim MonGraph As Chart
Dim L, LDeb, LFin, Precedent, Position

Position = 10 ' position du 1ier graphe

Worksheets(NomFeuille).Activate

Worksheets(NomFeuille).ChartObjects.Delete ' supprimer tous les graphes existants

L = 2
While Cells(L, 2) <> ""
'reperer début fin plage
Precedent = Cells(L, 2)
LDeb = L
While Cells(L, 2) = Precedent
L = L + 1
Wend
LFin = L - 1
'
Set Mongraphe = ActiveSheet.ChartObjects.Add(Left:=400, Top:=200, _
Width:=400, Height:=300)
Mongraphe.Name = "G" & Precedent
Mongraphe.Chart.ChartType = xlLineMarkers

Mongraphe.Chart.SeriesCollection.NewSeries
Mongraphe.Chart.SeriesCollection(1).XValues = _
Worksheets("Validation profils en long").Range("E" & LDeb & ":E" & LFin)
Mongraphe.Chart.SeriesCollection(1).Values = _
Worksheets("Validation profils en long").Range("F" & LDeb & ":F" & LFin)
Mongraphe.Chart.SeriesCollection(1).Name = "=""substrat"""

Mongraphe.Chart.SeriesCollection.NewSeries
Mongraphe.Chart.SeriesCollection(2).Values = _
Worksheets("Validation profils en long").Range("G" & LDeb & ":G" & LFin)

Mongraphe.Chart.SeriesCollection(2).Name = "=""ligne d'eau"""

Mongraphe.Chart.HasTitle = True
Mongraphe.Chart.ChartTitle.Text = Precedent
p = ActiveSheet.ChartObjects.Count

With Worksheets("Validation profils en long").ChartObjects(p)
.Left = 700
.Top = Position
Position = Position + .Height + 10

End With


Wend

End Sub


Ajout :

tu peux aussi positionner les graphes par rapport à une colonne et une ligne

Worksheets(NomFeuille).ChartObjects(p).Left = Worksheets(NomFeuille).Columns("j").Left
Worksheets(NomFeuille).ChartObjects(p).Top = Worksheets(NomFeuille).Rows(LDeb).Top

GIBI
 
Dernière édition:
Re : Macros...

Bonjour GIBI, désolé pour le temps de réponse, le week-end a été surchargé.
Je suis en train de reprendre ta macro et j'ai quelques pb :

tout d'abord je débogueur me trouve une erreur d'exécution sur les lignes :

Worksheets(NomFeuille).Activate
Worksheets(NomFeuille).ChartObjects.Delete ' supprimer tous les graphes existants

J'ai supprimé ces lignes et ça fonctionne sans supprimer les graphs précédents mais ça me pose pb et je ne trouve pas l'erreur.

Autre pb je n'arrive pas à modifier la mise en forme pour avoir les graphs élaborés présentés dans le doc joint (charte graphique et légendes des axes et séries)???

Merci d'avance car j'apprends pas mal de chose à force de chercher et de bricoler sur ces macros.
 

Pièces jointes

Re : Macros...

bonjour,

il faut réfléchir un peu!
n'aurais tu pas oublié de déclarer NomFeuille (qui est une varaible), soit

sous la forme

Const NomFeuille = "Validation profils en long" (à mettre avant les sub)

soit

dim NomFeuille as string

NomFeuille = "Validation profils en long"


GIBI


AJOUT :
pour modifier tes graphique, tu peux trouver facilement comment faire en utilisant l'enregistreur de macro
 
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

Réponses
1
Affichages
674
Réponses
0
Affichages
662
Réponses
11
Affichages
982
E
Réponses
0
Affichages
763
Edouard976
E
Réponses
1
Affichages
529
M
Réponses
0
Affichages
835
Menstru LH
M
D
  • Question Question
2 3
Réponses
31
Affichages
4 K
darknigthmare
D
Retour