Code vba

Résolu/Fermé
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 - Modifié le 10 déc. 2018 à 22:40
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 - 11 déc. 2018 à 23:50
Bonjour,
J'aimerais savoir, si c'est possible de faire valider des données (alimenter ma BD dans feuil excel depuis mon userform avec le bouton (VALIDER) par colonne et non pas par ligne
moi d'habitude j'utilise le code
Dim derlign As Integer
    If MsgBox("Confirmez-vous l'Ajout des Données?", vbYesNo, "confirmation") = vbYes Then
    
          derligne = Sheets("liste").Range("A254256").End(xlUp).Row + 1


Configuration: Windows / Firefox 63.0

3 réponses

jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
10 déc. 2018 à 21:53
Bonjour
Tu veux trouver la dernière colonne au lieu de la dernière ligne ?
Donc utilise column au lieu de row
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
10 déc. 2018 à 22:32
merci pour ton aide , j'ai mis "column" au lieu de row mais au lieu qu'il ajoute des donnéea dans la colonne suivante il les écrase, alors que mois je souhaite qu'il alimente la colonne suivante, cordilement

abdellah merci
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
10 déc. 2018 à 22:34
C'est normal...Il te faite faire +1
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
10 déc. 2018 à 22:41
mais +1 se décale par ligne et non par colonne
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
Modifié le 10 déc. 2018 à 22:47
voici le code du buton valider
Private Sub CommandButton1_Click()
Dim derligne As Integer
    If MsgBox("Confirmez-vous l'Ajout des Données?", vbYesNo, "confirmation") = vbYes Then
    
          derligne = Sheets("liste").Range("A456548").End(xlUp).Column + 2
                        
                Cells(derligne, 1) = TextBox1.Value
                

    End If
end sub
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
10 déc. 2018 à 22:51
Cells(ligne , colonne )
Donc..il faut placer ta variable au bon endroit...
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
11 déc. 2018 à 08:59
oui, le 2éme code vba (der colonne) alimente ma base de donnée par le bouton valider;

dans la colonne (a) et pour une nouvelle saisie de la valeur de la même textbox je veux qu'elle soit

stocker dans la colonne suivante , colonne (b) ainsi de suite.
merci pour votre aide.
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
11 déc. 2018 à 09:07
ben c'est ce que le code que je t'ai donné fait.
Je t'ai juste mis les deux exemples Ligne et Colonne pour que tu puisses voir la différence....
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
11 déc. 2018 à 16:55
non quand je valide il ecrase les données de la meme colonne ,en principe une nouvelle saisie stock les données dans la colonne suivante chose que ton code ne le fait pas
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
11 déc. 2018 à 17:03
Au temps pour moi...
Derniere_Colonne =Sheets("liste").Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
Modifié le 11 déc. 2018 à 17:51
"merci pour tout, j'i un message d'erreur (erreur d'execution "9"
l'indice n'appartien pas a la selection"
merci encor une fois pour tonaide
et voici le code que j'ai utiliser en cloquant sur le "buttoncommande"

Private Sub CommandButton1_Click()

Derniere_Colonne = Sheets("liste").Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column

Cells(1, derColonne) = TextBox1.Value

End Sub
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
11 déc. 2018 à 18:02
Regarde le nom de la variable derColonn ...
ça ne correspond pas avec Derniere_Colonne
0
jordane45 Messages postés 38136 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 avril 2024 4 649
11 déc. 2018 à 21:45
"ça ne marche pas" .... une phrase vide de sens qui n'explique en rien en quoi cela ne "marche pas"....
As tu corrigé le code ? As tu pensé à ajouté un +1 pour la dernière colonne ?
Perso.. quand je teste
Private Sub CommandButton1_Click()
Dim derligne As Integer
    If MsgBox("Confirmez-vous l'Ajout des Données?", vbYesNo, "confirmation") = vbYes Then
        Derniere_Colonne = Sheets("liste").Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column + 1
        Cells(1, Derniere_Colonne) = TextBox1.Value
    End If
End Sub

ça fait exactement ce que tu nous as demandé ....


PS: Merci de ne plus ouvrir de doublons de discussion...
0
abdellah_tadjine Messages postés 191 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 5 janvier 2022 6
11 déc. 2018 à 23:50
merci bcp, ça fonctionne et je suis vraiment désolé pour le desagrement, car j'avais un problème dans office,
0