Macro pour insérer des lignes et copier des valeurs

Bonjour à tous,

Utilisatrice peu expérimentée d'excel, j'aurai besoin de mettre en place une macro pour restructurer et érorganiser les données au sein d'un fichier. Je n'y connais rien en VB aussi j'espère qu'une âme sensible voudra bien m'éclairer

J'ai deux type d'actions à faire :

Insérer des lignes lorsque je rencontre une nouvelle valeur dans une colonne1

Exemple :

1

1

2

J'insère une ligne

2

2

2

3

J'insère une ligne

3

3

4

J'insère une ligne

Ensuite remplir les colonnes A et B de ces lignes vides en récupérant les valeurs de certaines valeurs de la feuille.

Comme ça devient un peu compliqué à expliquer je met en pièce jointe un tableau explicatif avec des données modèles (je ne peux pas fournir les véritables données sources car confidentielles ). J'espère que c'est assez explicite comme ça ...

Comptant beaucoup sur votre précieuse aide !

A très vite j'espère

Cdlt,

Zikalea

Bonjour,

après examen attentif de ton tableau j'avoue que je ne comprends pas du tout sa logique et ce que tu veux

analyser. Notamment la relation entre la colonne A et la colonne B (décalage boulangerie/charcuterie etc...)

essai d'expliquer de manière plus claire ce que tu veux "tirer" de ce tableau)

En général on ne "coupe" pas une base de données avec des lignes de "sous titre". ça empêche d'exploiter le tableau pour le filtrer, faire des extractions ou de synthèses. Et si on veut faire des sous.totaux excel générera automatiquement les lignes nécessaires.

Dans ton cas je mettrais le type de commerçant (boulangerie, charcuterie etc...) dans une colonne contiguë B par exemple et l'étiquette course en C.

Mais en tous cas explique la finalité de ton projet

Cordialement

Bonsoir et merci de vous être penché sur mon problème.

Je vais donc vous décrire l'objectif d'une telle structuration des données.

En fait je fais de la cartographie et je travaille avec un logiciel SIG qui fait du traitement et de l'analyse de données géographiques. L'exemple du fichier xls que j'ai mis en PJ montre donc le type de données que je récupère via mon logiciel SIG en dbf. Ces données seront ensuite importées dans une application propriétaire (système de géopositionnement et de suivi de véhicules). Pour permettre cet import, le format attendu est un fichier texte dont la structure est celle décrite dans le fichier exemple xls (résultats attendus).

La macro que j'essaie de mettre en place me sert uniquement à restructurer la donnée afin de pouvoir la livrer à l'application cliente dans le format attendu. Je ne ferai aucune utilisation de ces fichiers xls par la suite car je travaille avec le logiciel SIG. Voilà l'objectif ... Mais est-ce que l'explication de ce que je cherche à faire était suffisamment détaillée ou bien c'est absolument incompréhensible ???

Bon je ne désespère pas d'avoir un tout petit début de piste ou de conseil

Cdlt,

Zikalea

bonsoir,

j'ai effectivement regardé ce tableau avec les yeux d'un utilisateur d'excel

il reste après votre réponse deux questions

1/ les cellules de couleur change après le changement de valeur ? quelle en est la logique

2/ est-ce qu'il y a une relation logique entre la colonne A et la B ? autrement dit faut il reporter en début de colonne B automatiquement et avec couleur d'arrière plan un changement de valeur dans la colonne A ?

je me penche sur la question

cordialement

-- 30 Mai 2010, 12:55 --

bonjour

je mets en pièce jointe un premier jet en rapport avec ce que j'ai compris. (feuil2)

la feuille est commentée avec les aspect du projets qui me semblent obscurs

cordialement

Bonjour,

Et tout d'abord un grand grand grand merci à vous !

Je sens que si j'arrive à mieux m'exprimer, vous allez pouvoir m'aider !

J'avais mis des couleurs dans la feuille uniquement pour simplifier la lecture et la compréhension du résultat attendu ... mais visiblement j'ai tout complexifier. En fait je ne cherche pas à récupérer des couleurs ...

Le projet est composé de plusieurs étapes aussi on pourrait peut-être procéder par étape, quitte à mettre en place plusieurs macro dans un premier temps. En, effet j'ai le sentiment qu'en procédant par étape ça serait plus clair et vous n'auriez alors aucun problème pour m'aider, la seule difficulté étant pour moi de vous expliquer la globalité ...

Donc je vais essayrer de faire beaucoup plus simple dans l'intérêt de toute le monde

Macro 1 = Insérer des ligne vides sous chaque nouvelle valeur rencontrée en colonne B

Macro 2 = Remplir la cellule située en ColonneA de la nouvelle ligne vide

Macro 3 = Remplir la cellule située en ColonneB de la nouvelle ligne vide

J'imagine qu'il y a après moyen de rassembler le code de chacune de ces 3 Macro en une seule macro

Bon je croise les doigts pour que cela soit plus compréhensible

Je joints donc un nouveau fichier excel

Merci par avance !

Cdlt,

Zikalea

Bonjour,

La macro en question ne servira qu'une fois pour la même feuille ?

Combien de lignes sur une feuille ? (environ, fourchette)

à te relire

Claude

Bonsoir,

Essaie ce code :

Sub itineraire()
Dim LesLieux As Object
Dim Cel As Range
Dim DerLig As Long
Dim I As Long
Dim A, B
Application.ScreenUpdating = False
Set LesLieux = CreateObject("Scripting.Dictionary")
For Each Cel In Range("A5:A" & [A65000].End(xlUp).Row)
     LesLieux.Item(Cel.Value) = Cel.Row + 2
Next Cel
A = Application.Transpose(LesLieux.Items)
For I = LesLieux.Count - 2 To 1 Step -1
   Cells(A(I, 1), 1).Resize(1, 2).Insert Shift:=xlDown
Next I
DerLig = [A65000].End(xlUp).Row
With Range("A5:A" & DerLig)
    .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
    .Value = .Value
End With
I = 3
B = Application.Transpose(LesLieux.keys)
For Each Cel In Range("B5:B" & DerLig).SpecialCells(xlCellTypeBlanks)
    Cel.Value = B(I, 1)
    I = I + 1
Next Cel
End Sub

Le fichier

Bonne soirée

re,

Salut cousinhub,

j'en arrivais au même résultat, d'où ma question pré-citée,

çà ne peut servir qu'une fois !

Amicalement

Claude

Re Bonjour,

Merci beaucoup pour votre aide !

Je vois que la macro fournie en PJ renvoie exactement le fichier attendu, c'est super !

Pour répondre à votre question, je vais avoir plusieurs fichiers similaires à traiter et l'objectif pour moi c'est de mettre un peu la main à la patte et de me frotter au VB afin d'être moins bête une prochaine fois

Bon ça m'a l'air super compliqué tout ça mais qui ne tente rien n'a rien ... alors je vais essayer.

Vous avez été d'un grand secours, merci à tous pour votre gentillesse et vos réponses supers rapides.

Bonne journée à tous,

Cdlt,

Zikalea

Pour clôturer le poste, c'est ici,

à la prochaine

a resolu2
Rechercher des sujets similaires à "macro inserer lignes copier valeurs"