VBA code report de données
alf45
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour le Forum,
Je fais mes 1ers pas en VBA avec excel et j'ai besoin d'aide...
voici les explications :
Dans une feuille "SAISIE" je rentre des données
Avec un bouton nommé "COPIER les valeurs" je souhaite que :
- les données de "Saisie" soit reportées dans la feuille "Enregistrement" (ca j'ai réussi à faire)
- ces données soient enregistrées (ca j'ai réussi à faire)
Avec un bouton nommé "EFFACER les valeurs" je souhaite que :
- les données de la feuille "Saisie" soient effacées (j'ai réussi à faire)
Mon problème:
Je souhaite que lorsque je remplie une autre fois la feuille saisie
les données de "Saisie" s'enregistre au fur et à mesure dans la feuille "Enregistrement" en cliquant sur le bouton "COPIER les valeurs"
J'espère être clair...
Comment faire pour joindre le fichier ?
D'avance merci de votre aide
Je fais mes 1ers pas en VBA avec excel et j'ai besoin d'aide...
voici les explications :
Dans une feuille "SAISIE" je rentre des données
Avec un bouton nommé "COPIER les valeurs" je souhaite que :
- les données de "Saisie" soit reportées dans la feuille "Enregistrement" (ca j'ai réussi à faire)
- ces données soient enregistrées (ca j'ai réussi à faire)
Avec un bouton nommé "EFFACER les valeurs" je souhaite que :
- les données de la feuille "Saisie" soient effacées (j'ai réussi à faire)
Mon problème:
Je souhaite que lorsque je remplie une autre fois la feuille saisie
les données de "Saisie" s'enregistre au fur et à mesure dans la feuille "Enregistrement" en cliquant sur le bouton "COPIER les valeurs"
J'espère être clair...
Comment faire pour joindre le fichier ?
D'avance merci de votre aide
A voir également:
- Vba report
- Crystal report download - Télécharger - Présentation
- Crystal report viewer - Télécharger - Gestion de données
- Excel compter cellule couleur sans vba - Guide
- Télécharger crystal report 8.5 gratuit - Télécharger - Divers Utilitaires
- Google dark web report - Accueil - Protection
6 réponses
Bonjour,
Le plus simple.. serait que l'on parte de ton code actuel pour t'aider à le compléter.
NB : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Le plus simple.. serait que l'on parte de ton code actuel pour t'aider à le compléter.
NB : Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci Jordane45
J'ai pas bien compris la synthaxique...
Voici mon code
EDIT : ajout des balises de code ...(encore....)
J'ai pas bien compris la synthaxique...
Voici mon code
Sub Bouton84_Cliquer() Sheets("Saisie").Range("AB26").Copy Sheets("Enregistrement").Range("I3") Sheets("Saisie").Range("AB27").Copy Sheets("Enregistrement").Range("H3") Sheets("Saisie").Range("AB28").Copy Sheets("Enregistrement").Range("G3") Sheets("Saisie").Range("AB29").Copy Sheets("Enregistrement").Range("F3") Sheets("Saisie").Range("AB30").Copy Sheets("Enregistrement").Range("E3") Sheets("Saisie").Range("AB31").Copy Sheets("Enregistrement").Range("D3") Sheets("Saisie").Range("AB32").Copy Sheets("Enregistrement").Range("C3") Sheets("Saisie").Range("AB33").Copy Sheets("Enregistrement").Range("B3") Sheets("Saisie").Range("I29").Copy Sheets("Enregistrement").Range("J3") Sheets("Saisie").Range("I30").Copy Sheets("Enregistrement").Range("K3") Sheets("Saisie").Range("R29").Copy Sheets("Enregistrement").Range("L3") Sheets("Saisie").Range("R30").Copy Sheets("Enregistrement").Range("M3") Sheets("Saisie").Range("I31").Copy Sheets("Enregistrement").Range("N3") Sheets("Saisie").Range("I32").Copy Sheets("Enregistrement").Range("O3") Sheets("Saisie").Range("I33").Copy Sheets("Enregistrement").Range("P3") Sheets("Saisie").Range("R31").Copy Sheets("Enregistrement").Range("Q3") ActiveWorkbook.Save End Sub
EDIT : ajout des balises de code ...(encore....)
Tu as lu le lien que je t'ai donné ??
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Il suffit de placer ton code entre les balises de code......(la première icone en haut à droite de la fenêtre où tu écris tes messages sur le forum)...
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Il suffit de placer ton code entre les balises de code......(la première icone en haut à droite de la fenêtre où tu écris tes messages sur le forum)...
je refais la manipulation
Voici le code
Sub Bouton84_Cliquer()
Sheets("Saisie").Range("AB26").Copy Sheets("Enregistrement").Range("I3")
Sheets("Saisie").Range("AB27").Copy Sheets("Enregistrement").Range("H3")
Sheets("Saisie").Range("AB28").Copy Sheets("Enregistrement").Range("G3")
Sheets("Saisie").Range("AB29").Copy Sheets("Enregistrement").Range("F3")
Sheets("Saisie").Range("AB30").Copy Sheets("Enregistrement").Range("E3")
Sheets("Saisie").Range("AB31").Copy Sheets("Enregistrement").Range("D3")
Sheets("Saisie").Range("AB32").Copy Sheets("Enregistrement").Range("C3")
Sheets("Saisie").Range("AB33").Copy Sheets("Enregistrement").Range("B3")
Sheets("Saisie").Range("I29").Copy Sheets("Enregistrement").Range("J3")
Sheets("Saisie").Range("I30").Copy Sheets("Enregistrement").Range("K3")
Sheets("Saisie").Range("R29").Copy Sheets("Enregistrement").Range("L3")
Sheets("Saisie").Range("R30").Copy Sheets("Enregistrement").Range("M3")
Sheets("Saisie").Range("I31").Copy Sheets("Enregistrement").Range("N3")
Sheets("Saisie").Range("I32").Copy Sheets("Enregistrement").Range("O3")
Sheets("Saisie").Range("I33").Copy Sheets("Enregistrement").Range("P3")
Sheets("Saisie").Range("R31").Copy Sheets("Enregistrement").Range("Q3")
ActiveWorkbook.Save
End Sub
Voici le code
Sub Bouton84_Cliquer()
Sheets("Saisie").Range("AB26").Copy Sheets("Enregistrement").Range("I3")
Sheets("Saisie").Range("AB27").Copy Sheets("Enregistrement").Range("H3")
Sheets("Saisie").Range("AB28").Copy Sheets("Enregistrement").Range("G3")
Sheets("Saisie").Range("AB29").Copy Sheets("Enregistrement").Range("F3")
Sheets("Saisie").Range("AB30").Copy Sheets("Enregistrement").Range("E3")
Sheets("Saisie").Range("AB31").Copy Sheets("Enregistrement").Range("D3")
Sheets("Saisie").Range("AB32").Copy Sheets("Enregistrement").Range("C3")
Sheets("Saisie").Range("AB33").Copy Sheets("Enregistrement").Range("B3")
Sheets("Saisie").Range("I29").Copy Sheets("Enregistrement").Range("J3")
Sheets("Saisie").Range("I30").Copy Sheets("Enregistrement").Range("K3")
Sheets("Saisie").Range("R29").Copy Sheets("Enregistrement").Range("L3")
Sheets("Saisie").Range("R30").Copy Sheets("Enregistrement").Range("M3")
Sheets("Saisie").Range("I31").Copy Sheets("Enregistrement").Range("N3")
Sheets("Saisie").Range("I32").Copy Sheets("Enregistrement").Range("O3")
Sheets("Saisie").Range("I33").Copy Sheets("Enregistrement").Range("P3")
Sheets("Saisie").Range("R31").Copy Sheets("Enregistrement").Range("Q3")
ActiveWorkbook.Save
End Sub
Pour répondre à ta question...
...déjà...évite de faire des "copier/coller"... si tu ne veux récupérer que les valeurs.. tu peux utiliser la propriété .value des cellules....
Et pour "ajouter" des lignes à ta feuille.. il te faut déterminer la dernière ligne utilisée...
Ce qui donne un code comme ceci :
...déjà...évite de faire des "copier/coller"... si tu ne veux récupérer que les valeurs.. tu peux utiliser la propriété .value des cellules....
Et pour "ajouter" des lignes à ta feuille.. il te faut déterminer la dernière ligne utilisée...
Ce qui donne un code comme ceci :
Sub Bouton84_Cliquer() Dim LastR As Long Dim ShSource As Worksheet Dim ShCible As Worksheet Set ShSource = Sheets("Saisie") Set ShCible = Sheets("Enregistrement") 'recherche de la première ligne vide dans la feuille cible LastR = ShCible.Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row + 1 ShCible.Range("I" & LastR).Value = ShSource.Range("AB26").Value ShCible.Range("H" & LastR).Value = ShSource.Range("AB27").Value ShCible.Range("G" & LastR).Value = ShSource.Range("AB28").Value ShCible.Range("F" & LastR).Value = ShSource.Range("AB29").Value ShCible.Range("F" & LastR).Value = ShSource.Range("AB29").Value ShCible.Range("E" & LastR).Value = ShSource.Range("AB30").Value ShCible.Range("D" & LastR).Value = ShSource.Range("AB31").Value ShCible.Range("C" & LastR).Value = ShSource.Range("AB32").Value '...etc... 'A toi de placer le reste de cellules à "copier" .. ActiveWorkbook.Save End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci Jordane45,
Ca fonctionne pas mal mais...
quand j'efface ma saisie avec le bouton et que je refais une nouvelle saisie le report de données ne s'enregistre pas au fur et a mesure, il se fait toujours sur la même ligne de la feuille "enregistrement"
Ca fonctionne pas mal mais...
quand j'efface ma saisie avec le bouton et que je refais une nouvelle saisie le report de données ne s'enregistre pas au fur et a mesure, il se fait toujours sur la même ligne de la feuille "enregistrement"
le report de données ne s'enregistre pas au fur et a mesure, il se fait toujours sur la même ligne
Et Sur QUELLE ligne ?
Essayes ce code et dis mois ce que ça donne
Sub Bouton84_Cliquer() Dim LastR As Long Dim ShSource As Worksheet Dim ShCible As Worksheet Set ShSource = Sheets("Saisie") Set ShCible = Sheets("Enregistrement") 'recherche de la première ligne vide dans la feuille cible LastR = ShCible.Cells.Find("*", Range("I1"), , , xlByRows, xlPrevious).Row + 1 Msgbox "Ligne = " & LastR ShCible.Range("I" & LastR).Value = ShSource.Range("AB26").Value ShCible.Range("H" & LastR).Value = ShSource.Range("AB27").Value ShCible.Range("G" & LastR).Value = ShSource.Range("AB28").Value ShCible.Range("F" & LastR).Value = ShSource.Range("AB29").Value ShCible.Range("F" & LastR).Value = ShSource.Range("AB29").Value ShCible.Range("E" & LastR).Value = ShSource.Range("AB30").Value ShCible.Range("D" & LastR).Value = ShSource.Range("AB31").Value ShCible.Range("C" & LastR).Value = ShSource.Range("AB32").Value '...etc... 'A toi de placer le reste de cellules à "copier" .. ActiveWorkbook.Save End Sub
Bonjour
et en pro on fait comme ca
Feuil2.Name est le CodeName de l'onglet
A+
Maurice
et en pro on fait comme ca
Sub Bouton84_Cliquer() Application.ScreenUpdating = False With Sheets(Feuil2.Name) Range("AB26").Copy .Range("I3") Range("AB27").Copy .Range("H3") Range("AB28").Copy .Range("G3") Range("AB29").Copy .Range("F3") Range("AB30").Copy .Range("E3") Range("AB31").Copy .Range("D3") Range("AB32").Copy .Range("C3") Range("AB33").Copy .Range("B3") Range("I29").Copy .Range("J3") Range("I30").Copy .Range("K3") Range("R29").Copy .Range("L3") Range("R30").Copy .Range("M3") Range("I31").Copy .Range("N3") Range("I32").Copy .Range("O3") Range("I33").Copy .Range("P3") Range("R31").Copy .Range("Q3") End With ActiveWorkbook.Save End Sub
Feuil2.Name est le CodeName de l'onglet
A+
Maurice