Code VBA pour fichier création modification dans base de données

Re, j'ai pas tout compris au code mais bon !!!!

J'ai ajouté un module "nommé module 2" avec le code de copy data. Par contre est il possible de ne recopier qu'a partir de la colonne H.

Dans mon post précédent ce n'était pas la colonne "U" mais "B" avec tous les "1" qui faisait mon équipe "U14"

Bonjour toutes et tous

Re, j'ai mis un exemple en remerciant 3GB voici son code qui te fera sans doute l'affaire, il faudra juste modifier la lettre de la colonne

Note: peut être après l'utilisation de la macro faire en sorte de réinitialiser les lignes de la feuil6 ? peut être ?

'-------------------------------------------------------------------------------
Sub CopyData2()
 ' merci à 3GB pour ce code
 ' https://forum.excel-pratique.com/excel/copie-cellules-sous-condition-147361
 '-------------------------------------------------------------------------------
On Error GoTo plongeur
' declaration des variables
Dim Colspec As Range, plage As Range
Dim i%

With Sheets("Feuil5")
    Set Colspec = .Range("G:G, H:H, I:I, J:J, K:K, L:L, M:M, N:N, O:O, P:P, Q:Q, R:R, S:S, T:T, U:U") 'colonnes voulues
    For i = 2 To 200 'pour les lignes de 1 à 67
        If .Range("U" & i).Value = "1" Then 'si la colonne U = "1"
            If plage Is Nothing Then 'si la plage à copier est vide
                Set plage = Intersect(Colspec, .Rows(i)) 'initialisation de cette plage
            Else 'sinon
                Set plage = Union(plage, Intersect(Colspec, .Rows(i))) 'la plage annexe les nouvelles cellules (ligne en cours)
            End If
        End If
    Next i
End With

plage.Copy Destination:=Sheets("Feuil6").Range("G" & 2)  'copie de la plage effectif dans la feuille Feuil6 en G2
  With Sheets("Feuil5")
  ' on sélectionne 1 cellule de A1 de la feuil5
  .Range("A1").Select
  End With
  ' en cas d ereur on sort de la procédure
plongeur: Exit Sub
End Sub

voir onglet 5 (Feuil5) pour le bouton macro et le résultat sur Feuil6 du classeur : test-copie-sur-autrefeuille-suivant-valeur-colonne3

crdlt,

André

classeur supprimé new version

Bonjour, je suis complètement largué je n'y arrive pas.

Il faudrait qu'avec votre code ça recopie juste les colonnes H,I,L,Y sur une nouvelle feuille nommée "U14" à partir de A5 (mise en page sur les cellules au dessus).

Je suis perdu entre la création du bouton et quelle macro lui attribuer.

Merci de votre aide

22test002.xlsm (170.50 Ko)

Bonjour toutes et tous

essayez-ceci sur le Bouton 5, s'était presque ^^^^, une virgule à côté de 'Y:Y, 'sur les colonnes faisaient défaut et une autre petite erreur sur le i il fallait partir de la 4 -ème lignes de l'onglet BD

Set Colspec = .Range("H:H, I:I, L:L, Y:Y") 'colonnes voulues
 i = 4 To 847
Sub CopyData2()
 ' merci à 3GB pour ce code
 ' https://forum.excel-pratique.com/excel/copie-cellules-sous-condition-147361
 '-------------------------------------------------------------------------------
On Error GoTo plongeur
' declaration des variables
Dim Colspec As Range, plage As Range
Dim i%

With Sheets("BD")
    Set Colspec = .Range("H:H, I:I, L:L, Y:Y") 'colonnes voulues
    For i = 4 To 847 'pour les lignes de 4 à 847
        If .Range("B" & i).Value = "1" Then 'si la colonne B = ???? ==>"4" j'ai changé j'ai mis 4 pour 4ème ligne
            If plage Is Nothing Then 'si la plage à copier est vide
                Set plage = Intersect(Colspec, .Rows(i)) 'initialisation de cette plage
            Else 'sinon
                Set plage = Union(plage, Intersect(Colspec, .Rows(i))) 'la plage annexe les nouvelles cellules (ligne en cours)
            End If
        End If
    Next i
End With

plage.Copy Destination:=Sheets("U14").Range("A" & 5)  'copie de la plage effectif dans la feuille " U14 " en A5
  With Sheets("U14")
  ' on sélectionne 1 cellule de A1 de la feuil5
  .Range("a1").Select
  End With
  ' en cas d ereur on sort de la procédure
plongeur: Exit Sub
End Sub

Note: après, il faudra peur être enlever ce rouge couleur de fond des colonnes -;)

crdlt,

André

Re, merci c'est bon pour le code.

Par contre je ne comprends pas plusieurs choses:

Quand on supprime le 1ere personne de la feuille BD avec le bouton supprimer de l'usf2 ça me fait bugué ma formule en A,B,C,D,E,F,G.

Test: Je supprime tous les joueurs de la feuille BD avec le bouton supprimer de l'usf2, je créé un nouveau joueur normalement il devrait se trouver sur la ligne 4 de la feuille BD et bah non il va beaucoup plus (à la suite de ceux que j'avais supprimé auparavant.

Merci de votre aide.

Re,

il ne faut pas faire d'autre lignes sur le tableau de l'onglet BD sa rajoute automatiquement, il faut laisser toujours laisser une ligne (exemple lambda sur l'onglet) car, aussi non cela plante, je n'ai pas regarder l'usf2* (partiellement*)

Note 1 les colonnes A,B,C,D,E,F et G sont indépendantes, il faudrait une macro ou autre chose qui, reprenne les formules par la suite ok

Note 2 : la colonne 'G' Baby je ne pige pas j'ai mis 18/05/1998 ce n'est pas un baby ? (j'ai mis sur date la colonne et non sur texte)

Note 3 : j'ai modifier textbox17 de l'usf1 = ok

Private Sub TextBox17_Change()
'N° de licence
TextBox17.MaxLength = 13 'MaxLength= nombre de caractère qu'on veut définir
'Mise en forme automatique dans la TextBox ' modif Andre13 22/10/2020
'TextBox17.Value = Format(TextBox17, "0000 00 0 000 000") <======== SUPPRIMER 
End Sub

Note 4 : l'onglet AA AB AC et AD cela marque VRAI ou FAUX (après l'ajout d'un nouvel user à partir de l'USF1)=ok

onglet BD worksheet rajouter

Private Sub Worksheet_Change(ByVal Target As Range)
' affiche à la place de TRUE pour Vrai ou oui et FALSE pour Non ou non
' de la feuille BD onglets AA jusqu'à AD
    Columns("AA:AD").Replace True, "oui"
    Columns("AA:AD").Replace False, "non"
End Sub

Note 5 : j'ai testé avec l'usf2 lors de la suppression d'un user cela semble fonctionner = ok

Note 6 :il faudra m'expliquer pour les colonnes A, B, C, D, E, F et G je ne comprend pas trop

classeur supprimé new version

@re-tester ci-joint

crdlt,

André

Bonjour,

Jen vous remercie encore. Effectivement il y a un problème de formule dans les colonnes A,B,C,D,E,F,G. Ces colonnes me permette suivant les années de naissance de mettre automatiquement le joueur dans une catégorie (voir feuille paramètres) la cellule colorée en jaune doit être modifiable.

Re, pour le numéro de licence" 0000 00 0 000 000 " les 4 premiers chiffres c'est l'année de naissance, les 2 suivants le mois de naissance, le 5e si c'est "1" c'est un garçon si c'est "2" c'est une fille, les 6 derniers chiffres sont attribuées par la FFR.

Est il possible avec vos dons de magicien qu'automatiquement les 7 premiers chiffres soit rentrés, il n'y aurait plus que les 6 derniers à faire. J'imagine que sur l' USF 1 il faudra créer un option button.

Voici le fichier avec les onglets de catégorie. Est il possible qu'avec 1 seul bouton copier sur la feuille "BD" ça recopie pour toutes les catégories ou faut il un bouton pour chaque catégorie?

Bonjour toutes et tous

re, merci du retour

j'avais vu un tuto pour extraire les numéros de sécu celui ci est basique mais largement suffisant, il faudra l'adapté sur l'onglet BD par la suite je mets ici l'exemple sécu

EDIT (voir classeur plus bas test licence)

en image ci-jointe:

ztestsecu

Note: je vais re- relire vos 2 derniers posts -;), heu non je ne suis pas magicien, mdr aussi non le classeur serait fini illico presto lol -;)

Edit ; avec la licence voila ce que cela donne sur l'onglet 2 feuil2 de ce classeur test-licence un aperçu et en bonus l'image -;) (j'ai une petite erreur sur le sexe en D4 cellule figée sans doute mais peu importe l'exemple est colorisée en jaune)

zlicence

crdlt,

André

Je suis perdu là. Comment faire pour mettre ça dans les usf 1 et 2? et comment pouvoir changer les 6 derniers numéros?

Re,

pas de panique, je suis en train de regarder pour la

Date de naissance de l'enfant donc, Textbox5 de l'usf1 et N°de licence TextBox17

il faut dans un premier temps rectifier la date de naissance textbox5

...

Je vous fais entièrement confiance. Comment puis je faire pour modifier l'USF 2 label trop large et textbox pas aligné? A chaque fois que je vais l'usf2 que je fais des modifs que je retourne dans le classeur pour voir ce que ca donne ca modifie mais pas comme je l'ai défini.

Re,

EDIT: j'efface voir classeur ci-dessous plus complet

Re,

re me revoici j'ai corrigé deux ou trois trucs

  1. Très important avant de saisir la date de l'usf1 choisir en premier le sexe de l'enfant Féminin ou Masculin je n'ai pas trouvé dans l'immédiat comment y remédier apparemment cela fonctionne j'ai ajouté le choix F et M
  2. il ne faudra pas supprimer les textboxs et labels de l'usf1 caché à l'extérieur de l'userform (de toute façon il s'ont en propriété invisible lors du lancement de l'usf1)

--

ztest4444

crdlt,

André

Voici le fichier avec les onglets de catégorie. Est il possible qu'avec 1 seul bouton copier sur la feuille "BD" ça recopie pour toutes les catégories ou faut il un bouton pour chaque catégorie?

re,

  1. rectifié onglet feuille ==>U14<== du classeur (tableau )
  2. rectifié lors du transfert du bouton BD pour copier sans la mise en forme (couleur de fond) (macro copydata2 remodifié)
  3. rectifié si chiffre 1 dans les colonnes A, B, C, D,E, F et G (macro copydata2 remodifié)

Réedit: en 1 seul bouton c'est possible on recopie en 1 seul fois si le chiffre 1 apparaît dans les colonnes adéquates A, B, C, D,E, F et G pour la macro copier copydata2 de l'onglet BD

Edit : 24/10/2020

-1/ [usf2] - amélioration lors du clic sur le bouton de commande 1 de l'usf2 (creation), cache l'usf2 le décharge et affiche l'usf1

-2/ [usf1] - le format de contrôle de l'Usf1 0000 00 0 000 000 (pour les 6 derniers chiffres à zéro rectifié) de la textbox

ci-joint

classeur supprimé new version

Bonjour,

Pouvez vous m'expliquez quelle est la bonne formule pour avoir le chiffre 1 dans l'une des colonnes ABCDEFG en fonction de l'année de naissance en L avec comme condition les années dans la feuille paramètres. Et pourquoi les feuilles U12;U10;U8;U6;BABY ont disparues.

Deuxième chose il y a un bug pour le numéro de licence dans la textbox de l'usf1 les chiffres se retrouvent à la fin du coup cela ne correspond plus au format année (4) / mois (2) / garçon(1) fille(2) et les 6 derniers a pouvoir rentrer librement (n° FFR)

Merci de votre aide

Bonjour toutes et tous

@Lulu, bonjour et bonne semaine


Et pourquoi les feuilles U12;U10;U8;U6;BABY ont disparues

pour les feuilles ou onglets du classeur, je n'ai que U14


pour l'usf1 je n'ai que trouver cette parade c'est à dire:

Exemple factice : Sexe féminin née le 10/03/1995

1/ je choisis le sexe de l'enfant (F ou M) voir à droite à côté de la date de naissance de l'enfant sur les 2 options de choix F et M (exemple :je choisis F [ donc 1 pour Féminin ])

2/je saisis la date de naissance de l'enfant, je tape exemple 10 (les 2 barres oblique / se mettent automatiquement merci à Baboutz)03 et 1995 ce qui me donne : 10/03/1995

3/la textbox17 de l'usf1 N° de licence me donnera automatiquement 1995 03 1

4) je me place à la fin du dernier chiffre sur la textbox17 (clic gauche) et je rentre manuellement les FFR les 6 derniers a pouvoir rentrer librement (n° FFR)

Exemple 1995 03 1000000 ' je tape les 6 chiffres sur cet exemple 0, et lorsque je sors de la textbox17, les 6 derniers chiffres se placeront correctement ce qui donnera au final :

1995 03 1 000 000

c'est bien le FFR

5/ je peux modifier manuellement mes derniers chiffres FFR


pour ce qui est des 1 à placer je regarde cela en espérant trouver une solution

crdlt,

André

Merci pour votre réponse. Voici le fichier avec les onglets U14 U12 U10 U8 U6 BABY. Il faut qu'avec le bouton copier de la feuille "BD" ça puisse recopier dans chaque onglet de catégorie par rapport au "1" de la feuille "BD".

Pour le N° de licence c'est le contraire "1" pour les garçons et "2" pour les filles

Rechercher des sujets similaires à "code vba fichier creation modification base donnees"