Code vba

Résolu
abdellah_tadjine Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   -  
abdellah_tadjine Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   -
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   6
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
C'est normal...Il te faite faire +1
0
abdellah_tadjine Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   6
 
mais +1 se décale par ligne et non par colonne
0
abdellah_tadjine Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   6
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Cells(ligne , colonne )
Donc..il faut placer ta variable au bon endroit...
0
abdellah_tadjine Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   6
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   6
 
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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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   Statut Membre Dernière intervention   6
 
"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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Regarde le nom de la variable derColonn ...
ça ne correspond pas avec Derniere_Colonne
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
"ç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   Statut Membre Dernière intervention   6
 
merci bcp, ça fonctionne et je suis vraiment désolé pour le desagrement, car j'avais un problème dans office,
0