VBC excel 2007
Fermé
qidikizzy
Messages postés
11
Date d'inscription
mardi 29 juillet 2008
Statut
Membre
Dernière intervention
10 août 2010
-
21 sept. 2009 à 16:52
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 22 sept. 2009 à 12:08
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 22 sept. 2009 à 12:08
A voir également:
- VBC excel 2007
- Liste déroulante excel - Guide
- Save as pdf office 2007 - Télécharger - Bureautique
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
2 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
22 sept. 2009 à 10:02
22 sept. 2009 à 10:02
Bonjour,
Le problème vient quand je relance la macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
1) le problème vient donc de ta macro copier/coller (il y a sans doute une insertion de colonne et cela affecte
la formule.
Sans voir la macros difficile à dire ce qui se passe exactement.
2) je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne)
( mais tu peux l'écrire dans la macro.... ) En utilisant l'enregistreur de macro .
Cela aurait quelques avantages - risque d'oubli,d'erreurs,et sauvegarde de la formule.
Avec plus de précision sur ta macro quelqu'un t'en diras plus.
Le problème vient quand je relance la macro de copier-coller pour enchérir ma base de données. Pour l'exemple précédant, K2 sera un résultat de calcule de A54 au lieu de A2.
Quelqu'un a une idée pourquoi ça change tout seul? Est-ce qu'il y a une solution? (je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne).
1) le problème vient donc de ta macro copier/coller (il y a sans doute une insertion de colonne et cela affecte
la formule.
Sans voir la macros difficile à dire ce qui se passe exactement.
2) je ne peux pas mettre $A$2 dans mon formul car fallait que ca incrémente sur la colonne)
( mais tu peux l'écrire dans la macro.... ) En utilisant l'enregistreur de macro .
Cela aurait quelques avantages - risque d'oubli,d'erreurs,et sauvegarde de la formule.
Avec plus de précision sur ta macro quelqu'un t'en diras plus.
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
22 sept. 2009 à 12:08
22 sept. 2009 à 12:08
Voilà une proposition.... on peut améliorer
mais je souhaite que tu comprennes
Sub test()
Windows("CHEVALIER STEPHANE.xlsm").Activate
Sheets("Saisie").Select ' on sélectionne la feuille Saisie
derlig1 = Range("Saisie!A1048576").End(xlUp).Row ' On enregistre le n° de la dernière ligne
Range("A3:j" & derlig1).Select ' on selectionne une plage A à J ... c'est là le premier problème
Selection.Copy
Windows("Patrick.xlsm").Activate ' on va sur le deuxième classeur
Sheets("base de donnees").Select ' on se place sur la feuille sur la cellule A2
' Là tu faisait une insertion de la plage A:J
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select On va au bout de la base
' de cette manière on ne touche pas aux formules
Selection.Insert Shift:=xlDown ' ici on insère la plage A:J
' Ici tu peux Recopier les formules déjà présente sur la feuille ou le faire à la main
' puis faire le tri sur A:J on ne touche pas au reste
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
A+ si besoin tu dis.
mais je souhaite que tu comprennes
Sub test()
Windows("CHEVALIER STEPHANE.xlsm").Activate
Sheets("Saisie").Select ' on sélectionne la feuille Saisie
derlig1 = Range("Saisie!A1048576").End(xlUp).Row ' On enregistre le n° de la dernière ligne
Range("A3:j" & derlig1).Select ' on selectionne une plage A à J ... c'est là le premier problème
Selection.Copy
Windows("Patrick.xlsm").Activate ' on va sur le deuxième classeur
Sheets("base de donnees").Select ' on se place sur la feuille sur la cellule A2
' Là tu faisait une insertion de la plage A:J
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select On va au bout de la base
' de cette manière on ne touche pas aux formules
Selection.Insert Shift:=xlDown ' ici on insère la plage A:J
' Ici tu peux Recopier les formules déjà présente sur la feuille ou le faire à la main
' puis faire le tri sur A:J on ne touche pas au reste
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub
A+ si besoin tu dis.
22 sept. 2009 à 10:15
Dim derlig1 As Long
Windows("CHEVALIER STEPHANE.xlsm").Activate
derlig1 = Range("Saisie!A1048576").End(xlUp).Row
Sheets("Saisie").Select
Range("A3:J" & derlig1).Select
Selection.Copy
Windows("Patrick.xlsm").Activate
Sheets("base de donnees").Select
Range("A2").Select
Selection.Insert Shift:=xlDown
Range("A2:J1048576").Select
Application.CutCopyMode = False
Selection.UnMerge
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Je n'arrive pas à voir où est le problème. Si qq'un a une idée, ne pas hésiter de laisser un massage.
Merci d'avance.