Une ligne de code ne fonctionne pas

Bonjour à tous,

Dans mon formulaire, j'utilise la commande

Rows("2:2").Select
Selection.Insert Shift:=x1Down, CopyOrigin:=x1FormatFromLeftOrAbove

Pour valider et insérer une ligne dans mon tableau, ceci fonctionne très bien dans un formulaire mais si je l'utilise dans un autre formulaire une fenêtre de débogage s'ouvre en me surlignant cette ligne.

Pouvez-vous m'expliquer la raison mais aussi me donner une solution.

Merci

Bonsoir,

Il est possible qu'il soit sur une mauvaise feuille, ou je ne sais quelle autre raison.

Prends l'habitude de préfixer la feuille, genre :

feuil1.Rows("2:2").Select

Par ailleurs, l'indication .select est (quasi) toujours inutile.

bonjour,

Les select sont inutile en VBA

Rows(2).Insert 'devrait suffire.

A+

EDIT : Bonjour, JoyeuxNoel.

Pour le Feuil1 moi je peux pas deviner, tu as peut-être des infos que je n'ai pas, mais j'ai plutôt l'impression que c'est le x1 qui coince en fait ce devrait être un "L" (minuscule)

Bonjour,

Pour information, je suis un très grand débutant dans le VBA d'excel et en VBA tout court.

Donc j'ai suivi une petite formation par vidéo pour créer un formulaire. Lors de cette vidéo j'ai appris dans un tableau à insérer une ligne vierge afin de pouvoir continuer la saisie. Voilà le pourquoi de la chose.

D'après vos information, pouvez-vous me dire si cette ligne vous parait normale :

Rows(2).Insert Shift:=x1Down, CopyOrigin:=x1FormatFromLeftOrAbove

Il s'agit d'insérer une ligne vierge afin de pouvoir continuer les saisies sur la ligne 2 du tableau, la feuille étant la cinquième ou le cinquième onglet.

Si j'ai bien compris le rows(2) indique que l'on travail sur la ligne 2, le insert dit qu'il s'agit d'insérer et le reste d'inclure une ligne vierge.

Dites-moi.

Avec un grand merci.

Bonjour,

Sur ce forum quand on veut citer une ligne de code on utilise la balise </>qui se trouve dans le menu du message. Et on colle le code dans la fenêtre qui s'ouvre quand tu as appuies sur </>

Ça permet de lire et de récupérer plus facilement le code.

Dans cette situation mettre :

Rows(2).Insert 

...suffit largement. Le reste ne me parait pas indispensable.

Comme le dit JoyeuxNoel il peut être utile voire nécessaire de spécifier la feuille cible.

Ex :

Feuil1.Rows(2).Insert

Pour le reste il est difficile d'interpréter du code VBA sans avoir le classeur KIVABIEN avec, ça oblige à supputer sur ce que es en train de bricoler.

Donc pour chaque question sur VBA prière de joindre un classeur qui est suffisamment représentatif de la situation.

Dans la majorité des cas ça signifie qu'il suffit supprimer la plupart des enregistrement et de n'en laisser qu'un ou deux ou on aura préalablement modifié les noms N° de téléphone et adresse, email, etc...

Dans l'expression que tu cites, comme dit précédemment "x1Down" est fauté : il faut écrire "xldown"

Toutefois la plupart du temps ces précisions sont inutiles...

A+

Bonjour Galopin,

Après essai le code ne fonctionne pas.

Voici le code en question.

'Validation de l'enregistrement
Private Sub CommandButton_Validation_saisie_Click()
  Feuil5.Rows(2).Insert

        Unload ufmformulaire
        Load ufmformulaire
        ufmformulaire.Show
End Sub
'Entrée du code
Private Sub TextBox_code_bat_Change()
    [A2] = TextBox_code_bat
End Sub
'Entrée de la désignation du batiment
Private Sub TextBox_désignation_Change()
    [B2] = TextBox_désignation
End Sub
'Entrée Batiments à vocation
Private Sub TextBox_Bâtiments_à_vocation_Change()
    [C2] = TextBox_Bâtiments_à_vocation
End Sub 'Entrée adresses
Private Sub TextBox_adresses_Change()
    [D2] = TextBox_adresses
End Sub
'Fermeture du formulaire Paramètre
Private Sub CommandButton_Quitter_Click()
Unload UserForm_Paramètres
End Sub
Rechercher des sujets similaires à "ligne code fonctionne pas"