Macro excel

aureliecarnel Messages postés 4 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 9 septembre 2004 - 8 sept. 2004 à 15:31
aureliecarnel Messages postés 4 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 9 septembre 2004 - 9 sept. 2004 à 10:18
Bonjour,
Je cherche une synthase macro pour excel, qui a compare une colonne d'une feuille A avec celle d'une feuille B, et qui dés qu'il y a une cellule en plus dans la feuille B , insere une nouvelle ligne dans la feuille A.
Celui qui reussirait a m'aider me permettrait de gagner des heures de boulot!!!
d'avance merci

6 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
8 sept. 2004 à 16:38
Bonjour,

si on considère que les 2 colonnes sont triées tu peux faire :
Dim cellA As Range
Dim cellB As Range

Set cellA = Worksheets("Feuil1").Range("A1")
Set cellB = Worksheets("Feuil2").Range("A1")

While Not (IsEmpty(cellA) And IsEmpty(cellB))
If StrComp(cellA, cellB) <> 0 Then
    Rows(cellA.Row).Insert
    Set cellA = cellA.Offset(-1, 0)
    cellA.Value = cellB.Value
End If

Set cellA = cellA.Offset(1, 0)
Set cellB = cellB.Offset(1, 0)
Wend



Fanny
0
aureliecarnel Messages postés 4 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 9 septembre 2004
8 sept. 2004 à 17:22
je début en programmation.
cela me permet-il de creer la meme colonne q la B, en inserant des lignes lorsqu'il y a une différence entre A et B?
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
8 sept. 2004 à 19:46
Oui, mais seulement si l'ordre est déjà le même :

exemple :
COL A----COL B
un--------un
deux-----deux
quatre---trois
cinq------quatre
sept-----cinq
-----------six
-----------sept

te donnerais les 2 mêmes colonnes, mais pas si dans la colonne A tout est inversé.

Mais si tes données ne sont pas classées de la même façon dans A et dans B, dis le moi, je pourrais coder une autre macro.

Fanny
0
aureliecarnel Messages postés 4 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 9 septembre 2004
9 sept. 2004 à 09:29
merci pour tes précisions. : ca marche niquel!!
Juste un complément : dans les nouvelles lignes créées de la feuille A, comment faire pour que systématiquement soient copiées les formules de la ligne superieure ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
9 sept. 2004 à 10:09
Si tu veux recopier les formules (et non pas les valeurs), il faut que tu remplaces .Value par .FormulaR1C1

If StrComp(cellA, cellB) <> 0 Then
Rows(cellA.Row).Insert
Set cellA =  cellA.Offset(-1, 0)
cellA. FormulaR1C1   = cellB.FormulaR1C1
End If


Enfin ... si j'ai bien compris ce que tu veux ;) .

Fanny
0
aureliecarnel Messages postés 4 Date d'inscription mercredi 8 septembre 2004 Statut Membre Dernière intervention 9 septembre 2004
9 sept. 2004 à 10:18
en fait, dans la nouvelle ligne crée dans la feuille A, j'aimerai que les formules présentes dans les colones de cette feuille se recopie des la creation de la ligne dans les cellules de la nouvelles lignes correspondantes aux colonnes...
espere que tu comprendras ce schmilblic!!!!!!!!!!!
0
Rejoignez-nous