aide sur macro de sauvegarde
Le
franck.marian

Bonjour,
Besoin d'aide pour une sauvegarde
(Sub Recopie()
Zone = Range("B65535").End(xlUp).Row - 15
Sheets("Données").Range("A" & Sheets("Données").Range("A65535").E=
nd(xlUp).Offset(1, 0).Row, "AP" & Sheets("Données").Range("A65535").En=
d(xlUp).Offset(1 + Zone, 0).Row).Value = Sheets("listes").Range("A15", Sh=
eets("listes").Range("AP15").Offset(Zone, 0)).Value
End Sub)
cette marco copie une partie d'un onglet sur un onglet données
mais j'ai un problème de lancement?
puis j'ai quelques questions sur effacement et le décochage
Besoin d'aide pour une sauvegarde
(Sub Recopie()
Zone = Range("B65535").End(xlUp).Row - 15
Sheets("Données").Range("A" & Sheets("Données").Range("A65535").E=
nd(xlUp).Offset(1, 0).Row, "AP" & Sheets("Données").Range("A65535").En=
d(xlUp).Offset(1 + Zone, 0).Row).Value = Sheets("listes").Range("A15", Sh=
eets("listes").Range("AP15").Offset(Zone, 0)).Value
End Sub)
cette marco copie une partie d'un onglet sur un onglet données
mais j'ai un problème de lancement?
puis j'ai quelques questions sur effacement et le décochage
C'est bien de transmettre ton code. Cependant, peux-tu expliquer ce que tu
veux faire. Quelles sont les questions dont tu voudrais avoir une réponse?
MichD
a écrit dans le message de groupe de discussion :
Bonjour,
Besoin d'aide pour une sauvegarde
(Sub Recopie()
Zone = Range("B65535").End(xlUp).Row - 15
Sheets("Données").Range("A" &
Sheets("Données").Range("A65535").End(xlUp).Offset(1, 0).Row, "AP" &
Sheets("Données").Range("A65535").End(xlUp).Offset(1 + Zone, 0).Row).Value =
Sheets("listes").Range("A15", Sheets("listes").Range("AP15").Offset(Zone,
0)).Value
End Sub)
cette marco copie une partie d'un onglet sur un onglet données
mais j'ai un problème de lancement?
puis j'ai quelques questions sur effacement et le décochage
je m'explique mon besoin principal et d'archiver une fiche qui comprend tex te et des cases a cocher,
j'aimerai archiver celle-ci, alors j'ai créer un onglet avec les liais ons sur ma fiche manuel et case a coché
puis une macro qui sauvegarde dans une base de donnée (la j'ai la macr o cité mais qui fonctionne pas très bien)
puis le raz de la fiche et des coches
ensuite j'aimerai rechercher dans la base de données la dernière fiche sauvegarder avec certain critères (zone impacts) puis la mettre en forme sur une fiche + case coché du même type que la principal ...
Merci
faire, difficile d'optimiser ce code!
'--------------------------------------
Sub Recopie()
Dim DerLig As Long, Zone As Long
Zone = Range("B65535").End(xlUp).Row - 15
With Sheets("Données")
'Trouve la dernière ligne occupée de la plage A:AP
'j'additionne 1 pour avoir la première ligne disponible
DerLig = .Range("A:AP").Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
.Range("A" & DerLig & ":AP" & DerLig).Value = _
Sheets("listes").Range("A15", Sheets("listes").Range("AP15"). _
Offset(Zone, 0)).Value
End Sub
'--------------------------------------
MichD
A ) Quel est le nom de l'onglet de données que tu veux copier? Quelle est
l'adresse de la plage de cellule à copier?
B ) Sur quel onglet (nom) de ton classeur veux-tu copier cette plage de
cellules? À quel endroit dans cette feuille?
C ) Quel est le nom de la feuille que tu veux archiver? Où veux-tu
l'archiver? Dans un classeur existant? Si oui, quel est le chemin pour
atteindre ce classeur? Quel est le nom de ce classeur ? Tu veux ajouter la
feuille à ce classeur ?
Tu es dans Excel, chaque classeur, chaque feuille a un nom, chaque plage de
cellules, une adresse. Pour pouvoir écrire du code, tu dois être très
explicite dans le texte de ta question.
MichD
`
https://www.cjoint.com/c/HCmrAFOUUy1
En passant, le "chatting" ne m'intéresse pas. Ou bien tu expliques ce que tu
veux ou bien tu t'organises tout seul. La publication de code ou du classeur
ne m'indique pas ce que tu désires effectuer comme travail. J'espère être
clair!
MichD
permet de désigner les objets avec lesquels on travaille.
En écrivant With Worksheets("Listes") on spécifie que l'objet "Range"
appartient à cette feuille. Attention, note le "point" (.) devant le mot
range, qui désigne bien que cet objet "Range" appartient à la feuille
"Listes". Cela prend un peu de pratique, mais facilite la compréhension du
code par n'importe quel initié.
'----------------------------------------------
Sub Recopie()
Dim DerLig As Long, Zone As Long
With Worksheets("Listes")
Zone = .Range("B65535").End(xlUp).Row - 15
End With
With Sheets("Données")
'Trouve la dernière ligne occupée de la plage A:AP
'j'additionne 1 pour avoir la première ligne disponible
DerLig = .Range("A:AP").Find("*", LookIn:=xlValues, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
.Range("A" & DerLig & ":AP" & DerLig).Value = _
Sheets("listes").Range("A15", Sheets("listes").Range("AP15"). _
Offset(Zone, 0)).Value
End With
End Sub
'----------------------------------------------
MichD
Merci pour la précision
maintenant j'aimerai ajouter le raz de la fiche d'idée que je viens de sauvegarder
å;G5;D7;D12;D16;D24;E33;G33;D36;F67:H74;F76:F77 les zone à vider a insi que décocher les cases à cocher de cette fiche
Puis est il possible de faire une recherche dans l'onglet 'données' af in de remplir la fiche (fonction décalé) ainsi de coché cell e ci?
Merci
les cases à cocher
'-------------------------------------------
Sub test()
Dim Arr(), Elt As Variant, Sh As Shape
Arr = Array("E5", "G5", "D7", "D12", "D16", _
"D24", "E33", "G33", "D36", "F67:H74", "F76:F77")
With Worksheets("Fiche idée")
For Each elt In Arr
If .Range(elt).Cells.Count > 1 Then
.Range(elt).Clear
ElseIf .Range(elt).MergeArea.Cells.Count > 1 Then
.Range(elt).MergeArea.Clear
Else
.Range(elt).Clear
End If
Next
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "CheckBox" Then
Sh.OLEFormat.Object.Value = False
End If
Next
End With
End Sub
'-------------------------------------------
MichD
C'est à toi d'être clair dans ta question, je n'ai pas à prendre du temps
seulement pour tenter de comprendre la question.
MichD