Forums XLPages

Tous les messages (tube)

1 2 »
Re: Pb base de données/formulaires
#1
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 24-05-2012 23h17
Bonsoir à tous, bonsoir didier,

Je viens de tester, cela réalise exactement ce que je demandais.
Tu avais vu juste, je pense que je n'avais pas supprimer sur tous mes onglets.

Un grand merci à toi, ainsi qu'à Mth pour les zones dynamiques, et aussi à  Mytå qui a contribué également à la discussion.
Je pense que j'ai rarement vu une telle disponibilité, et toujours dans les plus brefs délais, je tiens également à vous remercier pour cela.
Je regrette les petits accrochages, mettez vous de mon côté, je ne pouvais rien divulguer.

Encore merci, bonne soirée.

Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#2
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 24-05-2012 16h59

C'est bon Mth, j'ai réussi à adapter cette technique de zone dynamique, le lien que tu avais mis était très bien détaillé, et de toute façon le fichier que tu m'avais confectionné faisait exactement ce que je voulais donc je n'ai eu aucun mal à l'adapter.

Je suis face à un nouveau problème, en plus du problème évoqué au post précédent.

Pour ce nouveau problème, je m'explique, voici déjà la macro que j'utilise qui est en rélaité celle que didier m'a fourni plus deux lignes que j'ai rajouté et que j'ai expliqué dans des posts précédents :

Private Sub CommandButton1_Click()
Dim WbkCible As Workbook
Dim R As Range
Dim nomfich As String
Dim ligne As Long
Dim i As Integer, Annee As Variant

    nomfich = "BDD_" & ThisWorkbook.Name
    Annee = InputBox(Prompt:="En quelle année ces données ont été recueillies?", Title:="Année")
    If Annee = "" Or Annee = 0 Then Exit Sub


    On Error Resume Next
    Set WbkCible = Workbooks.Open(ThisWorkbook.Path & "" & nomfich) 'Ouverture (ou réouverture) du classeur
    On Error GoTo 0
   
    If WbkCible Is Nothing Then
        MsgBox nomfich & " introuvable", vbExclamation

        Exit Sub
    End If
   
    With WbkCible
        With .Sheets("Feuil1")
            'Le traitement de l'année est-il déjà présent ?
            Set R = .Columns(1).Find(Annee)
            If Not R Is Nothing Then
                MsgBox "Traitement année " & Annee & " déjà effectué !", vbExclamation
                Exit Sub
            End If
           
            ligne = .Range("a65536").End(xlUp).Row + 1
            .Cells(ligne, 1).Value = Annee      'Année en colonne 1
           
            For i = 1 To 6
                .Cells(ligne, i + 1).Value = ThisWorkbook.Sheets("test_BDD").Cells(i + 6, 8).Value 'Copie des données
            Next i
        End With
   
        With .Sheets("Conso_annuelle_elect")
            ligne = .Range("a65536").End(xlUp).Row + 1
            .Cells(ligne, 1).Value = Annee      'Année en colonne 1
           
            .Cells(ligne, 2).Value = ThisWorkbook.Sheets("3_Comptage_Elect").Cells(42, 7).Value 'Copie des données
            .Cells(ligne, 3).Value = ThisWorkbook.Sheets("3_Comptage_Elect").Cells(39, 7).Value  '
            .Cells(ligne, 4).Value = ThisWorkbook.Sheets("3_Comptage_Elect").Cells(33, 7).Value  'Copie des données
        End With
    End With
   
    WbkCible.Save 'Enregistre le fichier
End Sub


 

Maintenant j'explique mon problème, j'appuie sur mon bouton, ma macro s'exécute, je renseigne l'année admettons 2011, cette valeur viens se coller dans la première colonne de ma base de données tout va bien. Pour tester, j'ai supprimer la ligne de l'année 2011 puisque je voulais retester le mécanisme. puis je relance ma macro, je re-rentre 2011, et là, paf, il me dit que j'ai déjà effectué le traitement pour cette année là, alors que je viens d'enlever la ligne correspondante.
Je voudrais savoir si à un moment, ce 2011 n'est pas dans une mémoire que la macro génère, ou un chose similaire, et s'il on ne pouvait pas vider cette mémoire à la fin de la macro, enfin je ne sais pas si cela devrais résoudre mon problème en tout cas je suis bloqué.

A noter que j'ai pour objectif, même si je n'ai pas encore trouvé la réponse, comme expliqué au post précedent, de mettre en place quelques lignes pour pouvoir écraser les lignes déjà existante (si je veux refaire le traitement de l'année 2011 par exemple), donc cela résoudrais le problème. Mais toujours est-il que ce n'est pas normal qu'il me dise que je ne peux pas faire le traitement alors que je viens de supprimer la ligne "2011".

En espérant que j'ai été clair, je vous serais très reconnaissant si vous m'aidiez encore une fois, car à priori, si ces deux problèmes, liés étaient résolus, tout serait ok pour moi, et je ne vous embetterais plus ensuite.


Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#3
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 24-05-2012 09h23
Je me permet de relancer ma question du post 12 :

J'aurais une dernière requête si vous voulez bien m'aider, lorsque que je renseigne deux fois la même année, il ya le message disant que le traitement est déja réalisé, est-ce possible que le code me dise :

 "le traitement est déjà réalisé, voulez-vous écraser les données déjà existante?" si je fais oui ca remplace les données si je fais non comme auparavant rien ne se passe.

Je ne sais pas si cela a déjà été traité sur ce forum je n'ai pas réussi à trouver.

Je vous remercie d'avance.

Pour Mth : Je suis en train d'essayer d'adapter la technique de zone dynamique, je te tiendrai au courant si j'arrive à l'adapter ou non.



Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#4
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 23-05-2012 15h28
Merci Mth, je ne peux pas télécharger depuis mon travail, c'est bloqué, mais je le fais ce soir dès que je rentre et je te tiens au courant dns la soirée ou la matinée de demain si j'arrive à l'adapter.


EDIT : J'avais oublier de gérer la sortie de l'inputbox, par conséquent, après la ligne :

Annee = InputBox(Prompt:="En quelle année ces données ont été recueillies?", Title:="Année") 

j'ai ajouté cette ligne :

 If Annee = "" Or Annee = 0 Then Exit Sub

Et aussi ne pas oublier, la variable "Annee" n'est plus définie comme "Integer", mais cette fois comme "Variant", et maintenant quand je clique sur annuler cela ne plante plus.
Voila en espérant que cela puisse aider.



Edité par tube le 23/05/2012 16:46:14
Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#5
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 23-05-2012 15h04
Un grand merci ce code réalise ce que je demandais.

J'ai changé la ligne : 
            Annee = Year(Date)
par :
             Annee = InputBox(Prompt:="En quelle année ces données ont été recueillies?", Title:="Année")

puisqu'il s'avère que parfois je réalise les suivis l'année suivante donc c'est plus adapté, je renseigne moi même l'année à laquelle ont été recueillies les données.

J'aurais une dernière requête si vous voulez bien m'aider, lorsque que je renseigne deux fois la même année, il ya le message disant que le traitement est déja réalisé, est-ce possible que le code me dise "le traitement est déjà réalisé, voulez-vous écraser les données déjà existante?" si je fais oui ca remplace les données sinon comme auparavant rien ne se passe.

Je ne sais pas si cela a déjà été traité sur ce forum je n'ai pas réussi à trouver.

Je vous remercie d'avance.
Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#6
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 23-05-2012 09h46
Je vous remercie pour l'aide dont vous m'apportez.

Je voudrais cependant clarifier certaines choses, j'ai d'importantes restrictions concernant la confidentialité, les cellules non renseignées correspondent à des termes techniques que je ne peux divulguer.

Si le nombre de totaux passe de 6 à 2, c'est avant tout, et comme toutes les démarches que j'effectue, dans le but de vous simplifier les choses. Parce que ce que je veux vous faire comprendre, c'est que j'ai pleins de tableuax, qui ne se ressemblent pas du tout, donc c'est l'idée ou encore le concept que je vous faire comprendre, puisque en aval je devrais adapter ce code sur mes différents tableaux.

Ce que je cherche, c'est de l'efficacité, de l'ergonomie, du gain de temps et je ne suis pas parvenu à obtenir ceci seul, d'où ma demande chez vous, en aucun cas je veux passer pour le méchant ou vous faire perdre du temps, comprenez le, je suis dans une démarche qui est contraire à perdre mon temps justement.

Je pense qu'il y a un mal entendu, je vais des efforts croyez moi, maintenant si ce n'est pas assez pour vous tanpis pour moi.

En tout cas merci pour ce code, en le lisant j'ai l'impression qu'il réalise ce que je veux faire, je vais le tester et je vous tiens au courant.


Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#7
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 22-05-2012 17h07
J'ai repris les fichiers que je vous avez envoyé, je les ai anoté, j'ai expliqué à quoi chaque couleur correspond, je pense que c'est compréhensible maintenant.

J'ai expliqué dans la base de données ce que j'essaie d'obtenir, et essayant d'être plus clair.

Je suis bien sûr disponible si d'autres questions subsistent, je suis persuadé d'être capable de vous faire comprendre :D.

Je vous remercie de m'aider, et de la patience que vous m'accordez.

PS : (petite faute de frappe dans le nom du dossier ^^)
Pièce jointe:
zip boulon forum v2.zip   [ Taille: 23.67 Ko - Téléchargements: 520 ]
Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#8
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 22-05-2012 15h38
Je m'excuse pour mon français lourd et rempli de sous entendu ...

Non plus sérieusement, je vais vous confectionner un autre fichier, plus détaillé, sans les fameux "yyy", "xxx", et j'y mettrais des commentaires dessus pour vous expliquer ce qui se passe dans ma tête :p. 

Encore désolé, je me hate de vous faire parvenir un fichier exploitable.
Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#9
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 22-05-2012 11h57
Merci de vous pencher sur mon problème.
Désolé pour les fichiers, mes données étant confidentielles j'ai mis un fichier TRES simplifié.

Je vais ré-expliquer ce que fait mon vrai fichier.
Donc j'ai un fichier formulaire(en rélaité j'en ai deux mais ce n'est pas important ici), contenant à peu près 30 feuilles, des fois plusieurs tableaux donc de très nombreuses données.
Ce que ma macro fait c'est quelle sélectionne les données que je veux parmi les 30 feuilles (cette manip est quasi la même chaque année d'où l'utilisation d'une macro car cette manipulation est très fastidieuse, autant la programmer une bonne fois pour toute pour ne plus refaire 50 fois les mêmes choses quitte à rajouter les quelques lignes d'une année à l'autre si on rajoute des lignes dans le tableau formulaire initial), et elle va ensuite les coller (seulement les valeurs) dans des "tableaux base de données" préalablement confectionné. J'utilise ces derniers tableaux pour faire des graphes avec les données sélectionnées et récupérées.

En résumé je déplace les valeurs (celles qui m'intéressent pour dresser des tableaux pour faire un suivi) d'un fichier vers un autre. Mais étant donné que j'ai de nombreuses données il est judicieux de préparer cela avec une macro cela me fait gagner énormément de temps.

J'espère avoir été assez précis dites moi ce n'est pas encore clair.
Encore merci de vous intéresser à mon problème je suis quelque peu perdu en ce moment.

Edit : Dans l'idéal l'année apparaitrait dans mon tableau base de données, et si possible que cela m'avertisse si j'envoi des données plusieurs fois pour la même année.

Edit 2: Il est bon de savoir que j'utilise cela depuis quelques années déja, et qu'il y a déja beaucoup de données dans les tableaux bases de données, et à chaque fois je dois actualiser mes graphes de suivi (ces graphes utilisent toutes les données, le suivi est annuel on voit l"évolution au fil des années).

Edit 3: Je viens de "fouiller" le forum et j'ai vu qu'il existe une application pour les doublons, elle consiste en quoi exactement? Etant donné que mes tableaux ont souvent un titre, la plupart du temps l'année y figure, je pourrais en plus de mes données, insérer l'année dans ma base de donnée en copiant le titre "2012" d'un tableau (cela pourrait solutionner mon problème d'affichage de l'année), et si par mégarde je venais à avoir deux lignes 2012, est-ce que cette application pour les doublons pourrait me le signaler? Je pensais à la base à  faire sans doute un fenetre userform qui viendrait nous avertir si l'année 2012 par exemple apparaissait 2 fois au moins dans la BDD mais je n'ai jamais réussi à le mettre en oeuvre, cette application de doublons pourrait-elle donc suffir? Merci à vous.


Edité par tube le 22/05/2012 14:44:09
Hors Ligne
Rapport   Haut 

Re: Pb base de données/formulaires
#10
Débutant XLPages

Inscription: 21/05/2012

Messages: 11

Système d'exploitation:
PC
Version Excel utilisée:
2003,2007
Posté le : 21-05-2012 20h14
C'est bon je viens d'éditer, j'avais mis en rar, je l'ai mis en zip cette fois.
Hors Ligne
Rapport   Haut 

1 2 »